/clr で構築された COM オブジェクト使用時における CLR シャットダウンの例外の回避

共通言語ランタイム (CLR) がシャットダウン モードに入ると、ネイティブ関数の CLR サービスへのアクセスが制限されます。 /clr でコンパイルされた COM オブジェクトに対して Release を呼び出そうとすると、CLR はネイティブ コードに遷移した後でマネージド コードに戻り、IUnknown::Release 呼び出し (マネージド コード内で定義されている) にサービスを提供します。 CLR がシャットダウン モードに入っているため、マネージド コードへのコールバックは妨げられます。

これを解決するには、Release メソッドから呼び出されるデストラクターにネイティブ コードのみが含まれるようにしてください。

関連項目

混在 (ネイティブおよびマネージド) アセンブリ