ICorDebugHeapValue3::GetMonitorEventWaitList 方法

提供与监视器锁关联的事件上排队的线程的有序列表。

语法

HRESULT GetMonitorEventWaitList (  
    [out] ICorDebugThreadEnum **ppThreadEnum  
);  

参数

ppThreadEnum
[out] 提供线程的有序列表的 ICorDebugThreadEnum 枚举器。

返回值

此方法返回以下特定 HRESULT 以及表示方法失败的 HRESULT 错误。

HRESULT 说明
S_OK 该列表不为空。
S_FALSE 列表为空。

例外

备注

列表中的第一个线程是下一次调用 Monitor.Pulse(Object) 释放的第一个线程。 列表中的下一个线程在下一次调用中释放,以此类推。

如果列表不为空,则此方法返回 S_OK。 如果列表为空,则该方法返回 S_FALSE;在这种情况下,枚举仍然有效,尽管它是空的。

在任一情况下,枚举接口仅在当前同步状态期间可用。 但是,从该线程中释放的接口在线程退出之前有效。

如果 ppThreadEnum 不是有效的指针,则结果未定义。

如果发生错误,从而无法确定哪些线程(如果有)正在等待监视器,则该方法将返回指示失败的 HRESULT。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorDebug.h

库:CorGuids.lib

.NET Framework 版本:自 4 起可用

请参阅