Marshal.AreComObjectsAvailableForCleanup Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt an, ob Runtime Callable Wrappers (RCWs) aus einem beliebigen Kontext zur Bereinigung verfügbar sind.
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
Gibt zurück
true
, wenn RCWs zur Bereinigung verfügbar sind, andernfalls false
.
- Attribute
Hinweise
Wenn es viele Verweise zwischen verwaltetem und nativem Code mit tiefen Abhängigkeitsdiagrammen gibt, kann es lange dauern, bis alle Objekte bereinigt sind. Jedes Mal, wenn ein GC ausgeführt wird, gibt er eine gewisse Anzahl von RCWs frei, wodurch wiederum die zugrunde liegenden COM-Objekte freigegeben werden. Diese COM-Objekte geben dann ihre verwalteten Verweise frei und stellen weitere Objekte für die Bereinigung zur Verfügung, wenn eine GC das nächste Mal ausgeführt wird, wodurch der Prozess erneut gestartet wird.
Die AreComObjectsAvailableForCleanup -Methode bietet der Anwendung eine Möglichkeit, zu bestimmen, wie viele GC-Zyklen vorhanden sind. Sammeln und GC. WaitForPendingFinalizers müssen durchgeführt werden, um alles zu bereinigen.