Thread.DisableComObjectEagerCleanup 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
關閉目前執行緒之執行階段可呼叫包裝函式 (RCW) 的自動清除功能。
public:
void DisableComObjectEagerCleanup();
public void DisableComObjectEagerCleanup ();
[System.Security.SecurityCritical]
public void DisableComObjectEagerCleanup ();
member this.DisableComObjectEagerCleanup : unit -> unit
[<System.Security.SecurityCritical>]
member this.DisableComObjectEagerCleanup : unit -> unit
Public Sub DisableComObjectEagerCleanup ()
- 屬性
備註
根據預設,common language runtime (CLR) 會自動清除執行時間可呼叫包裝函式。 CLR 會在清除期間發送訊息,這可能會導致一些符合下列不尋常準則的應用程式發生重新進入的問題:
應用程式會執行自己的訊息提取。
應用程式必須在訊息提取發生時精確控制。
這類應用程式可以使用 DisableComObjectEagerCleanup 方法,以防止 CLR 自動回收執行時間可呼叫包裝函式。
線上程上呼叫這個方法時,無法重新啟用該執行緒的自動清除。 當您的應用程式準備好清除執行時間可呼叫包裝函式時,請使用 Marshal.CleanupUnusedObjectsInCurrentContext 方法來指示執行時間清除目前內容中的所有執行時間可呼叫包裝函式。 當方法執行時,就會發生訊息泵。