Поделиться через


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.

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

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

Атрибуты

Исключения

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

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

Комментарии

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

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

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

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

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