MSDNによると:
パラメーターの場合
[out]
、メソッドまたはプロパティがメモリを割り当て、呼び出し元がメモリを解放する責任があります。
正しいのは次のうちどれですか。
[...]
STDMETHOD(Method)([out] BSTR* psValue)
[...]
BSTR myBStr1;
Method(&myBStr1);
::SysFreeString(myBStr1);
BSTR myBStr2 = SysAllocString(L"MyStringValue");
Method(&myBStr2);
::SysFreeString(myBStr2);
BSTR myBStr3 = NULL;
Method(&myBStr3);
::SysFreeString(myBStr3);