當使用以 /clr 建置的 COM 物件時防止 CLR 關閉之例外狀況
一旦 Common Language Runtime (CLR) 進入關閉模式,原生函式就會具備 CLR 服務的有限存取權。當在以 /clr 編譯的 COM 物件上嘗試呼叫 Release 時,CLR 會轉換至機器碼,然後轉換回 Managed 程式碼,以便服務 IUnknown::Release 呼叫 (定義於 Managed 程式碼中)。由於 CLR 位於關閉模式,因此會避免呼叫回到 Managed 程式碼。
若要解決這個問題,請確定從 Release 方法呼叫的解構函式 (Destructor) 只包含機器碼。