Marshal.AreComObjectsAvailableForCleanup Metoda

Definicja

Wskazuje, czy do czyszczenia są dostępne wywołalne otoki środowiska uruchomieniowego (RCW) z dowolnego kontekstu.

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

Zwraca

true jeśli istnieją jakiekolwiek RCW dostępne do oczyszczenia; w przeciwnym razie , false.

Atrybuty

Uwagi

Jeśli istnieje wiele odwołań między kodem zarządzanym i natywnym z głębokimi grafami zależności, czyszczenie wszystkich obiektów może zająć dużo czasu. Za każdym razem, gdy GC zostanie uruchomiona, zwolni kilka RCW, co z kolei spowoduje zwolnienie bazowych obiektów COM. Te obiekty COM będą następnie zwalniać zarządzane odwołania i udostępniać więcej obiektów do czyszczenia przy następnym uruchomieniu GC, co spowoduje ponowne uruchomienie procesu.

Metoda AreComObjectsAvailableForCleanup umożliwia aplikacji określenie, ile cykli GC. Zbieranie i GC. WaitForPendingFinalizers muszą się zdarzyć, aby wyczyścić wszystko.

Dotyczy