IHostSyncManager::CreateRWLockReaderEvent 方法

创建手动重置的事件对象,以便实现读线程锁。

语法

HRESULT CreateRWLockReaderEvent (  
    [in]  BOOL bInitialState,  
    [in]  SIZE_T cookie,  
    [out] IHostManualEvent **ppEvent  
);  

参数

bInitialState
[in] true,如果 ppEvent 应被表示;否则为 false

cookie
[in] 与读取器锁关联的 Cookie。

ppEvent
[out] 指向 IHostManualEvent 实例地址的指针;如果未能创建该事件对象,则为 null。

返回值

HRESULT 说明
S_OK 已成功返回 CreateRWLockReaderEvent
HOST_E_CLRNOTAVAILABLE 公共语言运行时 (CLR) 未加载到进程中,或 CLR 处于无法运行托管代码或无法成功处理调用的状态。
HOST_E_TIMEOUT 调用超时。
HOST_E_NOT_OWNER 调用方未持有锁。
HOST_E_ABANDONED 阻塞的线程或纤程正在等待某一事件,而该事件已被取消。
E_FAIL 发生未知的灾难性故障。 当方法返回 E_FAIL 时,进程中无法再使用 CLR。 后续调用承载方法会返回 HOST_E_CLRNOTAVAILABLE。
E_OUTOFMEMORY 内存不足,无法创建请求的事件对象。

注解

CLR 调用 CreateRWLockReaderEvent 以获取对 IHostManualEvent 实例的引用,以在其读取器锁的实现中使用。 主机可以通过查询 ICLRSyncManager 接口,使用 Cookie 来确定哪些任务正在等待读取器锁。

要求

平台:请参阅系统要求

标头:MSCorEE.h

库:作为资源包含在 MSCorEE.dll 中

.NET Framework 版本:自 2.0 起可用

另请参阅