Marshal.AreComObjectsAvailableForCleanup 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指示是否可以清除任何上下文中的运行时可调用包装器 (RCW)。
public:
static bool AreComObjectsAvailableForCleanup();
[System.Security.SecurityCritical]
public static bool AreComObjectsAvailableForCleanup ();
public static bool AreComObjectsAvailableForCleanup ();
[<System.Security.SecurityCritical>]
static member AreComObjectsAvailableForCleanup : unit -> bool
static member AreComObjectsAvailableForCleanup : unit -> bool
Public Shared Function AreComObjectsAvailableForCleanup () As Boolean
返回
如果存在任何可清除的 RCW,则为 true
;否则为 false
。
- 属性
注解
如果托管代码和本机代码之间存在大量引用,并且具有深层依赖项关系图,则可能需要很长时间才能清理所有对象。 每次运行 GC 时,它都会释放一些 RCW,进而释放基础 COM 对象。 然后,这些 COM 对象将释放其托管引用,并在下次运行 GC 时提供更多可用于清理的对象,这会重新启动该过程。
方法 AreComObjectsAvailableForCleanup 为应用程序提供了一种确定 GC 周期数的方法。收集和 GC。WaitForPendingFinalizer 需要发生才能清理所有内容。