ICLRIoCompletionManager::OnComplete Method

Notifies the common language runtime (CLR) of the status of an I/O request that was made by using a call to the IHostIoCompletionManager::Bind method.

HRESULT OnComplete (
    [in] DWORD dwErrorCode,
    [in] DWORD NumberOfBytesTransferred,
    [in] void* pvOverlapped
);

Parameters

  • dwErrorCode
    [in] An HRESULT value that indicates the status of the bind operation.

    • S_OK indicates that the operation completed successfully.

    • HOST_E_INTERRUPTED indicates that the call terminated before completion.

    • E_FAIL indicates that an unknown, unrecoverable, catastrophic failure occurred.

  • NumberOfBytesTransferred
    [in] The number of bytes transferred during the processing of the I/O request.

  • pvOverlapped
    [in] A pointer to the OVERLAPPED structure that was passed to the call to the IHostIoCompletionManager::Bind method.

Return Value

HRESULT

Description

S_OK

OnComplete returned successfully.

HOST_E_CLRNOTAVAILABLE

The CLR has not been loaded into a process, or the CLR is in a state in which it cannot run managed code or process the call successfully.

HOST_E_TIMEOUT

The call timed out.

HOST_E_NOT_OWNER

The caller does not own the lock.

HOST_E_ABANDONED

An event was canceled while a blocked thread or fiber was waiting on it.

E_FAIL

An unknown catastrophic failure occurred. After a method returns E_FAIL, the CLR is no longer usable within the process. Subsequent calls to hosting methods return HOST_E_CLRNOTAVAILABLE.

Remarks

If the host implements an I/O completion abstraction, the CLR makes I/O requests through the host by using methods of IHostIoCompletionManager. The host then calls the OnComplete method to notify the runtime of the outcome of such 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

ICLRIoCompletionManager Interface

IHostIoCompletionManager Interface

IHostThreadPoolManager Interface