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 будет создано исключение.