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。

返回

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

属性

例外

o 不是有效的 COM 对象。

onull

注解

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

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

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

适用于

另请参阅