다음을 통해 공유


SetIoRingCompletionEvent 함수(ioringapi.h)

I/O 링으로 완료 큐 이벤트를 등록합니다.

구문

HRESULT SetIoRingCompletionEvent(
  HIORING ioRing,
  HANDLE  hEvent
);

매개 변수

ioRing

완료 이벤트가 등록된 I/O 링에 대한 핸들을 나타내는 HIORING 입니다.

hEvent

이벤트 개체에 대한 핸들입니다. CreateEvent 또는 OpenEvent 함수는 이 핸들을 반환합니다.

반환 값

다음 값을 포함하여 HRESULT를 반환합니다.

설명
S_OK Success
E_INVALID_HANDLE ioRing 매개 변수에 잘못된 핸들이 전달되었습니다.
E_INVALIDARG hEvent 매개 변수에 잘못된 핸들이 전달되었습니다.

설명

커널은 첫 번째 항목을 빈 완료 큐에 배치할 때 이 이벤트에 신호를 보냅니다. 즉, 커널은 완료 큐가 빈 상태에서 비어 있지 않은 상태로 전환될 때만 이벤트를 신호 상태로 설정합니다. 애플리케이션은 더 이상 항목을 나타내지 않을 때까지 PopIoRingCompletion을 호출한 다음 제공된 HANDLE을 통해 추가 비동기 완료가 완료될 때까지 기다려야 합니다. 그렇지 않으면 이벤트가 신호된 상태로 들어가지 않으며 시간 제한이 발생할 때까지 또는 무한 시간 제한이 사용될 경우 대기가 영원히 차단될 수 있습니다.

커널은 내부적으로 핸들을 복제하므로 대기가 더 이상 필요하지 않을 때 애플리케이션이 핸들을 닫는 것이 안전합니다. NULL의 이벤트 핸들 값을 제공하면 기존 값이 지워지게 됩니다. INVALID_HANDLE_VALUE 값을 설정하면 코드 버그를 조기에 검색하는 데 도움이 되도록 다른 잘못된 핸들 값과 마찬가지로 오류가 발생합니다.

HIORING과 연결된 하나의 이벤트 핸들이 있으며, 두 번째 핸들을 설정하려고 하면 이미 존재하는 모든 핸들이 대체됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 빌드 22000
지원되는 최소 서버 Windows 빌드 22000
머리글 ioringapi.h

참고 항목

PopIoRingCompletion