다음을 통해 공유


IHostIoCompletionManager::InitializeHostOverlapped 메서드

호스트가 비동기 I/O 요청에 대해 사용된 Win32 OVERLAPPED 구조체에 추가할 사용자 지정 데이터를 초기화할 수 있도록 합니다.

HRESULT InitializeHostOverlapped (
    [in] void* pvOverlapped
);

매개 변수

  • pvOverlapped
    [in] I/O 요청과 함께 포함될 Win32 OVERLAPPED 구조체에 대한 포인터입니다.

반환 값

HRESULT

설명

S_OK

InitializeHostOverlapped에서 성공적으로 반환되었습니다.

HOST_E_CLRNOTAVAILABLE

CLR(공용 언어 런타임)이 프로세스에 로드되지 않았거나 관리 코드를 실행할 수 없는 상태 또는 호출을 처리할 수 없는 상태입니다.

HOST_E_TIMEOUT

호출 시간이 초과되었습니다.

HOST_E_NOT_OWNER

호출자가 잠금을 소유하고 있지 않습니다.

HOST_E_ABANDONED

차단된 스레드나 파이버가 기다리던 이벤트가 취소되었습니다.

E_FAIL

알 수 없는 치명적인 오류가 발생했습니다. 메서드가 E_FAIL을 반환하면 프로세스에서 CLR을 더 이상 사용할 수 없습니다. 이후에 호스팅 메서드를 호출하면 HOST_E_CLRNOTAVAILABLE이 반환됩니다.

E_OUTOFMEMORY

메모리가 부족하여 요청된 리소스를 할당할 수 없습니다.

설명

Windows 플랫폼 함수에서는 OVERLAPPED 구조체를 사용하여 비동기 I/O 요청의 상태를 저장합니다. CLR(공용 언어 런타임)에서는 InitializeHostOverlapped 메서드를 호출하여 호스트에서 사용자 지정 데이터를 OVERLAPPED 인스턴스에 추가할 수 있도록 합니다.

중요중요

호스트에서는 해당 사용자 지정 데이터 블록의 상태에 위치하도록 오프셋을 OVERLAPPED 구조체의 크기(sizeof(OVERLAPPED))로 설정해야 합니다.

E_OUTOFMEMORY의 반환 값은 호스트가 사용자 지정 데이터를 초기화하지 못했음을 나타냅니다. 이 경우 CLR(공용 언어 런타임)은 오류를 반환하며 호출에 실패합니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: MSCorEE.h

라이브러리: MSCorEE.dll에 리소스로 포함됨

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

참고 항목

참조

ICLRIoCompletionManager 인터페이스

IHostIoCompletionManager::GetHostOverlappedSize 메서드

IHostIoCompletionManager 인터페이스