バグ:COM用文字列型(BSTR)の扱い

Posted: 2012年11月18日

COM用文字列型(BSTR)の扱いでよく書いてしまうバグを紹介します。
ちなみに、COMとは、Component Object Modelの略であり、再利用可能なソフトウェア コンポーネントを作成するための仕様です。
よく関わるものは、msxmlでxmlを操作する際に使用します。(msxmlがcomでできているため)

プログラムプログラム:

 #include  <stdio.h>
 #include <stdlib.h>

 int main(int argc, char *argv[])
 {
    BSTR strSrc = ::SysAllocString(L"12345");
    CString strDest = (LPCTSTR)(_bstr_t)strSrc ;

    // 処理

    return 0;
 }

このプログラムにどのような文字列変換関連のバグがあると思いますか?



カテゴリー: バグ, プログラム | タグ: , , , , | コメント無し »