driver-online
  log-inmypagesitemap
top
   자유게시판
   로그북
    견우일지
    시스템팀 개발일지
    Beginning Driver
   유용한 팁&강좌
   CrashDump분석(beta)
   개발QnA
    WDM 입문
    USB
    NDIS
    File System
    Debugging 관련
    그 외
 

unresolved external symbol __imp___vsnwprintf
 ·작성일 2008.05.03:21.41 (토)  · 작성자 견우  · 조 회 9,778


아~...^^.. 30분동안... 헤맸네요..

XP Build Environment에서 잘되던 드라이버가
2K Build Environment에서는 제목과같은 에러가 나는 것입니다...
그래서 무엇 때문인지 확인해보았더니..

RtlStringCbPrintf() 때문이더군요.. 이 함수 내부적으로 _vsnwprintf 호출하고 있었습니다...
그래서 위과 같은 에러가 나타난거지요...

아마 2K Build Environment에서는 사용할 수 없나봅니다...
그래서 Kernel-Mode Safe String 에 관해서 차근차근 찾아보니
아래와 같에 NTSTRSAFE_LIB 를 define 해줘야 한다는 것을 알았습니다.

#define NTSTRSAFE_LIB
#include 

NTSTRSAFE_LIB를 define 해주지 않는다면 inline 버전의 safe string 함수가 호출이되고
NTSTRSAFE_LIB를 define 해주면 library 버전의 safe string 함수가 호출된다고 합니다...

제 경우 그래서 inline 버전의 safe string 버전의 RtlStringCbPrintf가 호출되었고..
결국은 지원하지 않는 _vsnwprintf 가 호출된듯하네요...ㅠ.ㅠ.

여튼 결론은 2K Build Environment 에서  Safe String 함수를 사용하고자 하신다면
#define NTSTRSAFE_LIB 해주시는 것이 좋을 듯하네요^^....

오랜만에 포스팅합니다!

*답변을 받은 후 감사의 글을 남기는 것은 꼭 지켜야할 네티켓입니다.
    

이 전 : GetCurrentDirectory() API를 커널에서 구현하고 싶다면?...

다 음 : 한글 MSDN Library 온라인...많이 구경오세요~^^

 
quick-menu
event
study
QnA
pds
family-site concert used used2 intro
address
address