Marshal.FinalReleaseComObject(Object) Метод

Определение

Освобождает все ссылки на вызываемую оболочку времени выполнения, присваивая ее счетчику ссылок значение 0.

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

Параметры

o
Object

Освобождаемая оболочка CLR.

Возвращаемое значение

Int32

Новое значение счетчика ссылок для вызываемой оболочки времени выполнения, связанной с параметром o, равное нулю (0), если высвобождение прошло успешно.

Атрибуты

Исключения

o не является допустимым COM-объектом.

o имеет значение null.

Комментарии

Этот FinalReleaseComObject метод освобождает управляемую ссылку на COM-объект. Вызов этого метода эквивалентен вызову ReleaseComObject метода в цикле, пока он не вернет значение 0 (ноль).

Когда число ссылок для COM-объекта становится 0, COM-объект обычно освобождается, хотя это зависит от реализации COM-объекта и выходит за рамки управления средой выполнения. Однако rcW все еще может существовать, ожидая сборки мусора.

COM-объект нельзя использовать после того, как он был отделен от базового RCW. Если вы попытаетесь вызвать метод в RCW после того, как его число ссылок станет 0, InvalidComObjectException будет создано исключение.

Применяется к

См. также раздел