Dec 20, 2005

CComBSTRのコンストラクタで文字列長に0を指定すると中身がカラになる

ポスト @ 6:32:40 | プログラミング,ATL/WTL

ハマりました。
こちらとしては、CComBSTR(0, "") みたいな呼び出しで、空文字列を表すBSTRが生成されるだろうってな前提で組んでて、そういうシチュエーションでCOMクライアント側が落ちるので「?」だったのですが、ソースコード読んだらイッパツ判明。何のことはなく、サイズが 0 だと内部ポインタをNULLにしてました…
これって仕様的にどうよ? って感じですが。まぁおとなしく::SysAllocStringLen()ですかねぇ…

Trackback

No Trackbacks

Track from Your Website

http://blog.izumichan.com/trackback/tb.php?id=125

Comment

No Comments

Post Your Comment


*は入力必須です。E-Mailは公開されません。