BSTR,CComBSTRの注意点

BSTR,CComBSTRは適切に処理しないとメモリリークを起こす。

BSTR BSTRは SysFreeString API を利用して解放する必要があります。
    BSTR bStr;
    ・・・なんか処理・・・
    ::SysFreeString(bStr);

CComBSTR

初期化されたCComBSTR型の変数を、関数のパラメタとして利用し、その使い方が、出力として利用する場合は、Empty()関数をあらかじめ呼ぶ必要がある。
(とりあえず宣言したらEmptyしとけば問題ないかも)

    CComBSTR bStr;
    bStr.Empty();
    GetString(&bStr);

参考資料 Welcome to MSDN Library