IHostIoCompletionManager Interface

Provides methods that allow the common language runtime (CLR) to interact with I/O completion ports provided by the host.

interface IHostIoCompletionManager : IUnknown {
    HRESULT Bind (
        [in] HANDLE hPort,
        [in] HANDLE hHandle
    );
    HRESULT CloseIoCompletionPort (
        [in] HANDLE hPort
    );
    HRESULT CreateIoCompletionPort (
        [out] HANDLE *phPort
    );
    HRESULT GetAvailableThreads (
        [out] DWORD *pdwAvailableIOCompletionThreads
    );
    HRESULT GetHostOverlappedSize (
        [out] DWORD *pcbSize
    );
    HRESULT GetMaxThreads (
        [out] DWORD *pdwMaxIOCompletionThreads
    );
    HRESULT GetMinThreads (
        [out] DWORD *dwMinIOCompletionThreads
    );
    HRESULT InitializeHostOverlapped (
        [in] void* pvOverlapped
    );
    HRESULT SetCLRIoCompletionManager (
        [in] ICLRIoCompletionManager* pManager
    );
    HRESULT SetMaxThreads (
        [in] DWORD dwMaxIOCompletionThreads
    );
    HRESULT SetMinThreads (
        [in] DWORD dwMinIOCompletionThreads
    );
};

Methods

Method

Description

IHostIoCompletionManager::Bind Method

Binds a handle to an I/O completion port.

IHostIoCompletionManager::CloseIoCompletionPort Method

Closes a port that was created through an earlier call to CreateIoCompletionPort.

IHostIoCompletionManager::CreateIoCompletionPort Method

Requests that the host create a new I/O completion port.

IHostIoCompletionManager::GetAvailableThreads Method

Gets the number of I/O completion threads that are not currently processing requests.

IHostIoCompletionManager::GetHostOverlappedSize Method

Gets the size of any custom data the host intends to append to I/O requests.

IHostIoCompletionManager::GetMaxThreads Method

Gets the maximum number of threads that the host can allot to service I/O requests.

IHostIoCompletionManager::GetMinThreads Method

Gets the minimum number of threads that the host provides to service I/O requests.

IHostIoCompletionManager::InitializeHostOverlapped Method

Provides the host with an opportunity to initialize any custom data about an I/O request.

IHostIoCompletionManager::SetCLRIoCompletionManager Method

Provides the host with an interface pointer to an ICLRIoCompletionManager instance implemented by the CLR.

IHostIoCompletionManager::SetMaxThreads Method

Sets the maximum number of threads that the host allots to service I/O requests.

IHostIoCompletionManager::SetMinThreads Method

Sets the minimum number of threads that the host should allot to I/O completion.

Remarks

IHostIoCompletionManager corresponds to the ICLRIoCompletionManager interface implemented by the CLR. The CLR calls the methods of IHostIoCompletionManager to bind handles to the ports that the host provides, and the host calls the methods of ICLRIoCompletionManager to report the completion of I/O requests.

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

Hosting Interfaces