This documentation is archived and is not being maintained.

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



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.

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.

Platforms: See .NET Framework System Requirements.

Header: MSCorEE.idl

Library: Included as a resource in MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0