COM自動化オブジェクトは、最後のインターフェイスが解放されたときに閉じられると思いました。
ただし、MS Wordへのインターフェイスを開いて解放するこのコードは、WINWORD.EXEプロセスを実行したままにします。私はそれをたどりました、そして私はそれiUnkn->Release()
が呼ばれていることを知っています。
私はここで何が間違っているのですか?
if (SUCCEEDED(CoInitialize(NULL)))
{
CLSID clsid;
if (SUCCEEDED(CLSIDFromProgID(OLESTR("Word.Application"), &clsid)))
{
IUnknown* iUnkn = NULL;
if (SUCCEEDED(CoCreateInstance(clsid, NULL, CLSCTX_SERVER, Word::IID__Application, (void**) &iUnkn)) && iUnkn)
{
iUnkn->Release();
}
}
CoUninitialize();
}