私は、いくつかの管理された COM 可視 C# DLL を使用する必要があるネイティブ C++ プロジェクト (/clr が有効) に取り組んでいます。管理対象オブジェクトの一部は IDisposable を実装しており、それらに対して Dispose() を呼び出したいと考えています。どうやってやるの?
コードは次のようになります。
HRESULT hr = CoInitialize(NULL);
IManagedClassPtr pIObj(__uuidof(ManagedClass));
//do stuff with pIObj
...
//dispose of pIObj somehow
...
CoUninitialize();