Compartilhar via


IHostSyncManager Interface

Provides methods that allow the common language runtime (CLR) to create synchronization primitives by calling the host instead of using the Win32 synchronization functions.

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
    );
};

Methods

Method

Description

IHostSyncManager::CreateAutoEvent Method

Creates an auto-reset event object.

IHostSyncManager::CreateCrst Method

Creates a critical section object for synchronization.

IHostSyncManager::CreateCrstWithSpinCount Method

Creates a critical section object with spin count for synchronization.

IHostSyncManager::CreateManualEvent Method

Creates a manual-reset event object.

IHostSyncManager::CreateMonitorEvent Method

Creates a monitored auto-reset event object.

IHostSyncManager::CreateRWLockReaderEvent Method

Creates a manual-reset event object for the implementation of a reader lock.

IHostSyncManager::CreateRWLockWriterEvent Method

Creates an auto-reset event object for the implementation of a writer lock.

IHostSyncManager::CreateSemaphore Method

Creates an IHostSemaphore object for the CLR to use as a semaphore for wait events.

IHostSyncManager::SetCLRSyncManager Method

Sets the ICLRSyncManager instance to associate with the current IHostSyncManager instance.

Remarks

The CLR discovers the host's implementation of IHostSyncManager by calling the IHostControl::GetHostManager method with an IID of IID_IHostSyncManager.

Requirements

Platforms: Windows 2000, Windows XP, Windows Server 2003 family

Header: MSCorEE.idl

Library: Included as a resource in MSCorEE.dll

.NET Framework Version: 2.0

See Also

Concepts

ICLRSyncManager Interface

Hosting Interfaces