Marshal.FinalReleaseComObject(Object) 方法

定义

通过将运行时可调用包装器 (RCW) 的引用计数设置为 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

要释放的 RCW。

返回

Int32

o 参数关联的 RCW 的新引用计数值,如果释放成功,则为 0(零)。

属性

例外

o 不是有效的 COM 对象。

onull

注解

该方法 FinalReleaseComObject 释放对 COM 对象的托管引用。 调用此方法等效于在循环中调用 ReleaseComObject 该方法,直到返回 0 (零) 。

当 COM 对象的引用计数变为 0 时,通常释放 COM 对象,尽管这取决于 COM 对象的实现,并且超出了运行时的控制范围。 但是,RCW 仍可以存在,等待垃圾回收。

COM 对象在与基础 RCW 分离后无法使用。 如果在 RCW 的引用计数变为 0 后尝试调用方法,将引发一个 InvalidComObjectException 方法。

适用于

另请参阅