Marshal.AreComObjectsAvailableForCleanup 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示是否有位在任何內容中的執行階段可呼叫包裝函式 (RCW) 可以清除。
public:
static bool AreComObjectsAvailableForCleanup();
[System.Security.SecurityCritical]
public static bool AreComObjectsAvailableForCleanup ();
public static bool AreComObjectsAvailableForCleanup ();
[<System.Security.SecurityCritical>]
static member AreComObjectsAvailableForCleanup : unit -> bool
static member AreComObjectsAvailableForCleanup : unit -> bool
Public Shared Function AreComObjectsAvailableForCleanup () As Boolean
傳回
如果有可以清除的執行階段可呼叫包裝函式,則為 true
,否則為 false
。
- 屬性
備註
如果 Managed 和原生程式代碼之間有許多參考,且具有深層相依性圖形,則所有物件都可能需要很長的時間才能清除。 每次執行 GC 時,都會釋放一些 RCW,進而釋放基礎 COM 物件。 這些 COM 物件接著會釋放其 Managed 參考,並在下次執行 GC 時,讓更多物件可供清除,這會再次啟動進程。
方法 AreComObjectsAvailableForCleanup 可讓應用程式判斷 GC 的循環數目。收集與 GC。WaitForPendingFinalizers 必須發生,才能清除所有專案。