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