다음을 통해 공유


RIO_NOTIFICATION_COMPLETION_TYPE 열거형(mswsock.h)

RIO_NOTIFICATION_COMPLETION_TYPE 열거형은 Winsock 등록 I/O 확장을 사용하여 데이터를 보내거나 받을 때 RIONotify 함수에 사용할 완료 큐 알림 유형을 지정합니다.

Syntax

typedef enum _RIO_NOTIFICATION_COMPLETION_TYPE {
  RIO_EVENT_COMPLETION = 1,
  RIO_IOCP_COMPLETION = 2
} RIO_NOTIFICATION_COMPLETION_TYPE, *PRIO_NOTIFICATION_COMPLETION_TYPE;

상수

 
RIO_EVENT_COMPLETION
값: 1
이벤트 핸들은 완료 큐 알림을 알리는 데 사용됩니다.

이벤트 핸들은 RIO_CQ 만들 때 RIOCreateCompletionQueue 함수에 전달된 RIO_NOTIFICATION_COMPLETION 구조체의EventNotify.EventHandle 멤버로 제공됩니다. 이 RIO_CQ대한 RIONotify 함수가 완료되면 이벤트가 발생합니다. RIO_CQ 만들 때 RIOCreateCompletionQueue 함수에 전달된 RIO_NOTIFICATION_COMPLETION 구조체의 Event.NotifyReset 멤버는 RIONotify 함수 호출의 일부로 이벤트를 다시 설정해야 하는지 여부를 나타냅니다.
RIO_IOCP_COMPLETION
값: 2
I/O 완료 포트 핸들은 완료 큐 알림을 알리는 데 사용됩니다.

I/O 완성 포트 핸들은 RIO_CQ 만들 때 RIOCreateCompletionQueue 함수에 전달된 RIO_NOTIFICATION_COMPLETION 구조체의Iocp.IocpHandle 멤버로 제공됩니다. 이 RIO_CQ대한 RIONotify 함수가 완료되면 GetQueuedCompletionStatus 또는 GetQueuedCompletionStatusEx 함수를 사용하여 검색할 수 있는 I/O 완료 포트에 대한 항목이 큐에 대기합니다. 큐에 대기 중인 항목에는 반환된 lpCompletionKey 매개 변수 값이 RIO_NOTIFICATION_COMPLETIONIocp.CompletionKey 멤버에 지정된 값으로 설정되고 반환된 lpOverlapped 매개 변수 값은 RIO_NOTIFICATION_COMPLETION 구조체의 Iocp.Overlapped 멤버에 지정된 값으로 설정됩니다. RIO_NOTIFICATION_COMPLETIONIocp.Overlapped 멤버는 NULL이 아닌 값이 됩니다.

설명

RIO_NOTIFICATION_COMPLETION_TYPE 열거형은 Winsock 등록 I/O 확장과 함께 사용하여 RIO_CQ 사용할 I/O 완성 유형을 지정합니다. 열거형 값은 RIO_CQ 만들 때 RIOCreateCompletionQueue 함수에 전달된 RIO_NOTIFICATION_COMPLETION 구조체에 설정됩니다.

RIO_CQ 만들 때 RIO_NOTIFICATION_COMPLETION 구조는 애플리케이션이 완료 큐 알림을 받는 방법을 결정합니다. 완료 큐를 만들 때 RIO_NOTIFICATION_COMPLETION 구조가 제공되는 경우 애플리케이션은 RIONotify 함수를 호출하여 완료 큐 알림을 요청할 수 있습니다. 일반적으로 이 알림은 완료 큐가 비어 있지 않을 때 발생합니다. 이 문제는 즉시 또는 다음 완료 항목이 완료 큐에 삽입될 때 발생할 수 있습니다. 완료 큐 알림이 실행되면 애플리케이션은 다른 완료 큐 알림을 받으려면 RIONotify 를 호출해야 합니다.

완료 큐 알림에는 두 가지 옵션을 사용할 수 있습니다.

  • 이벤트 핸들.
  • I/O 완료 포트

RIO_NOTIFICATION_COMPLETION 구조의 Type 멤버가 RIO_EVENT_COMPLETION 설정된 경우 이벤트 핸들을 사용하여 완료 큐 알림을 보냅니다. 이벤트 핸들은 RIOCreateCompletionQueue 함수에 전달된 RIO_NOTIFICATION_COMPLETION 구조체에서 EventNotify.EventHandle 멤버로 제공됩니다.

RIO_NOTIFICATION_COMPLETION 구조의 Type 멤버가 RIO_IOCP_COMPLETION 설정된 경우 I/O 완료 포트를 사용하여 완료 큐 알림을 보냅니다. I/O 완료 포트 핸들은 RIOCreateCompletionQueue 함수에 전달된 RIO_NOTIFICATION_COMPLETION 구조체에서 Iocp.IocpHandle 멤버로 제공됩니다. 이 RIO_CQ대한 RIONotify 함수가 완료되면 GetQueuedCompletionStatus 또는 GetQueuedCompletionStatusEx 함수를 사용하여 검색할 수 있는 I/O 완료 포트에 대한 항목이 큐에 대기합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
머리글 mswsock.h

추가 정보

RIOCreateCompletionQueue

RIONotify

RIO_CQ

RIO_NOTIFICATION_COMPLETION