Server programming in use...FiaDot

'유니코드'에 해당되는 글 1건

  1. 2007/09/26 wchar_t 타입을 받는 형식라이브러리 빌드 문제 C2664 Part 2

MIDL의 파싱 오류라고만 치부하기에는 MSDN의 샘플코드도 문제가 있었다.

이전글에서

 HRESULT hr = m_pSpMgr->S_AddUser( (unsigned short*)("first112"), 0, (unsigned short*)("what"), (unsigned short*)("whatu"));


이런 코드를 사용했는데 TCHAR* 를 이용해서 인자를 전달하지 않고 위에 처럼

문자열 상수를 사용하게 되면 유니코드로 들어가는게 아니라,

일반 ansi char로 인자가 전달되게 된다.

사용자 삽입 이미지
( 이 이미지는 what에 해당하는 부분이 아예 제대로 값이 전달 안되었는데 실제로는 what 0x00 4개가 전달된다 )

제대로 전달하기 위해서 코드는 다음과 같이 해야하며,

 HRESULT hr = m_pSpMgr->S_AddUser( (unsigned short*)_T("first112"), 0, (unsigned short*)_T("what"), (unsigned short*)_T("whatu"));



좀더 C++ 스럽게 표현하면

  HRESULT hr = m_pSpMgr->S_AddUser(reinterpret_cast<unsigned short*>(L"first112"),
           0,
           reinterpret_cast<unsigned short*>(L"what"),
           reinterpret_cast<unsigned short*>(L"whatu"));


이와 같이 해야 맞을것이다.

2007/09/26 21:21 2007/09/26 21:21
Posted by FiaDot
Technical Article l 2007/09/26 21:21
1 

카테고리

전체 (676)
개인 (1)
Technical Article (273)
Diary (125)
Book (2)
Music (176)
DSP (19)
Tmp.Box (5)
Hardware (7)
Idea (60)
마이크로소프트웨어 (7)

달력

«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30