|
>「選択範囲を一旦メモリに取り込んでそのまま返す」事すらできません。ご教示頂け
>れば幸いです。
>
>extern "C" HGLOBAL _cdecl Func1( HWND hwndHidemaru, WCHAR* pwsz, char* pszPa
>ram, int cbParamBuffer ) {
> int cb = wcslen(pwsz) + 1;
> HGLOBAL hmemDest = GlobalAlloc( GMEM_MOVEABLE, cb );
> WCHAR* pwDest = (WCHAR*)GlobalLock( hmemDest );
> pwDest=pwsz;
> GlobalUnlock( hmemDest );
> return hmemDest;
>}
とりあえずこのソースだけを見た限りでは、以下のことが言えると思います。
・int cb = (wcslen(pwsz) + 1) * 2; でないとUnicodeのバイト数にならない。
・pwDest=pwsz; はポインタなので、wcscpy( pwDest, pwsz ); じゃないといけ
ない。
|
|