更新:2007 年 11 月
提供允许公共语言运行库 (CLR) 通过调用宿主(而不是使用 Win32 同步函数)创建同步基元的方法。
interface IHostSyncManager : IUnknown {
HRESULT CreateAutoEvent (
[out] IHostAutoEvent **ppEvent
);
HRESULT CreateCrst(
[out] IHostCrst** ppCrst
);
HRESULT CreateCrstWithSpinCount (
[in] DWORD dwSpinCount,
[out] IHostCrst** ppCrst
);
HRESULT CreateManualEvent (
[in] BOOL bInitialState,
[out] IHostManualEvent **ppEvent
);
HRESULT CreateMonitorEvent (
[in] SIZE_T Cookie,
[out] IHostAutoEvent **ppEvent
);
HRESULT CreateRWLockReaderEvent (
[in] BOOL bInitialState,
[in] SIZE_T Cookie,
[out] IHostManualEvent **ppEvent
);
HRESULT CreateRWLockWriterEvent (
[in] SIZE_T Cookie,
[out] IHostAutoEvent **ppEvent
);
HRESULT CreateSemaphore (
[in] DWORD dwInitial,
[in] DWORD dwMax,
[out] IHostSemaphore **ppSemaphore
);
HRESULT SetCLRSyncManager (
[in] ICLRSyncManager *pManager
);
};
方法
方法 |
说明 |
|---|---|
创建一个自动重置事件对象。 |
|
为同步创建临界区对象。 |
|
创建具有自旋计数的临界区对象以进行同步。 |
|
创建手动重置的事件对象。 |
|
创建受监视的自动重置事件对象。 |
|
为实现读取器锁创建手动重置事件对象。 |
|
为实现编写器锁创建自动重置事件对象。 |
|
创建一个 IHostSemaphore 对象,供 CLR 用作等待事件的信号量。 |
|
将 ICLRSyncManager 实例设置为与当前IHostSyncManager 实例相关联。 |
备注
CLR 通过调用 IID 为 IID_IHostSyncManager 的 IHostControl::GetHostManager 方法来发现宿主的 IHostSyncManager 实现。
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**MSCorEE.idl
**库:**作为一项资源包含在 MSCorEE.dll 中
**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0