Marshal.FinalReleaseComObject(Object) 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 alle Verweise auf einen Runtime Callable Wrapper (RCW) durch Festlegen des Verweiszählers auf 0 frei.
public:
static int FinalReleaseComObject(System::Object ^ o);
[System.Security.SecurityCritical]
public static int FinalReleaseComObject (object o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static int FinalReleaseComObject (object o);
public static int FinalReleaseComObject (object o);
[<System.Security.SecurityCritical>]
static member FinalReleaseComObject : obj -> int
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member FinalReleaseComObject : obj -> int
static member FinalReleaseComObject : obj -> int
Public Shared Function FinalReleaseComObject (o As Object) As Integer
Parameter
- o
- Object
Der RCW, der freigegeben werden soll.
Gibt zurück
Der neue Wert des Verweiszählers des RCWs, der dem o
-Parameter zugeordnet ist. Dieser ist bei erfolgreicher Freigabe 0 (null).
- Attribute
Ausnahmen
o
ist kein gültiges COM-Objekt.
o
ist null
.
Hinweise
Die FinalReleaseComObject -Methode gibt den verwalteten Verweis auf ein COM-Objekt frei. Das Aufrufen dieser Methode entspricht dem Aufrufen der ReleaseComObject Methode in einer Schleife, bis sie 0 (null) zurückgibt.
Wenn die Verweisanzahl für das COM-Objekt 0 wird, wird das COM-Objekt in der Regel freigegeben, obwohl dies von der Implementierung des COM-Objekts abhängt und außerhalb der Kontrolle der Runtime liegt. Der RCW kann jedoch weiterhin vorhanden sein und wartet auf die Sammlung von Müll.
Das COM-Objekt kann nicht verwendet werden, nachdem es von seinem zugrunde liegenden RCW getrennt wurde. Wenn Sie versuchen, eine Methode für den RCW aufzurufen, nachdem die Verweisanzahl 0 ist, wird ein InvalidComObjectException ausgelöst.