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) frei, indem die Referenzanzahl auf 0 festgelegt wird.
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 losgelassen werden soll.
Gibt zurück
Der neue Wert der Referenzanzahl des RCW, der dem o Parameter zugeordnet ist, der 0 (null) ist, wenn die Freigabe erfolgreich ist.
- 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 Referenzanzahl 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 über die Kontrolle der Laufzeit hinausgeht. Der RCW kann jedoch weiterhin vorhanden sein, bis er garbage-collection wird.
Das COM-Objekt kann nicht verwendet werden, nachdem es von seinem zugrunde liegenden RCW getrennt wurde. Wenn Sie versuchen, eine Methode für das RCW aufzurufen, nachdem die Referenzanzahl auf 0 festgelegt wurde, wird ein InvalidComObjectException Fehler ausgelöst.