Marshal.AreComObjectsAvailableForCleanup 方法

定義

表示是否有位在任何內容中的執行階段可呼叫包裝函式 (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 必須發生,才能清除所有專案。

適用於