これは私のコンストラクタです:CreateInstanceオブジェクトはデストラクタで明示的に破棄する必要がありますか?
CMSATools::CMSATools()
{
m_pInterface = NULL;
HRESULT hr;
hr = m_pInterface.CreateInstance(__uuidof(MSAToolsLibrary::MSAToolsLibraryClass));
if (FAILED(hr))
{
// TODO }
}
m_pInterfaceが定義されています:
MSAToolsLibrary::IMSAToolsLibraryInterfacePtr m_pInterface;
CMSAToolsディストラクターで 'm_pInterface'をリリースする必要があるかどうかを知りたいですか? – Praveen
'm_pInterface'の動作は' m_pInterface'に依存します:その型と現在の状態。あなたはそれを示さない。これが現れるCOMオブジェクトは参照カウントされます。スマートポインタを使用していない場合は、適切に 'AddRef'メソッドと' Release'メソッドを呼び出す必要があります。オブジェクトのコピーを処理するか、コピーを無効にします。 –
@ Cheersandhth.-Alf更新された質問をご覧ください。 –