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 ()
- 屬性
備註
預設情況下,通用語言執行時(CLR)會自動清理執行時可呼叫的包裝器。 CLR 在清理過程中會抽取訊息,這可能會在符合以下特殊條件的部分應用中產生再入問題:
應用程式會自行進行訊息泵送。
應用程式需要精確控制訊息泵送的發生時間。
這類應用程式可以利用此 DisableComObjectEagerCleanup 方法阻止 CLR 自動回收執行時可呼叫包裝器。
當此方法在執行緒被呼叫時,該執行緒無法重新啟用自動清理功能。 當你的應用程式準備好清理執行時可呼叫包裝器時,使用該 Marshal.CleanupUnusedObjectsInCurrentContext 方法指示執行時清理當前上下文中所有執行階段可呼叫包裝器。 訊息泵送會在方法執行時發生。