다음을 통해 공유


RIO_RQ

RIO_RQ typedef는 Winsock 등록 I/O 확장으로 요청을 보내고 받는 데 사용되는 소켓 설명자를 지정합니다.

typedef struct RIO_RQ_t* RIO_RQ, **PRIO_RQ;

RIO_RQ

보내기 및 수신 요청에서 사용되는 소켓 설명자를 지정하는 데이터 형식입니다.

설명

Winsock에 등록된 I/O 확장은 주로 소켓이 아닌 RIO_RQ 개체에서 작동합니다. 애플리케이션은 RIOCreateRequestQueue 함수를 사용하여 기존 소켓에 대한 RIO_RQ 가져옵니다. dwFlags 매개 변수에 설정된 WSA_FLAG_RIO 플래그를 사용하여 WSASocket 함수를 호출하여 입력 소켓을 만들어야 합니다.

RIO_RQ 개체를 가져온 후 기본 소켓 설명자는 유효한 상태로 유지됩니다. 애플리케이션은 기본 소켓을 계속 사용하여 소켓 옵션을 설정하고 쿼리하고, IOCTL을 실행하고, 궁극적으로 소켓을 닫을 수 있습니다.

참고

효율성을 위해 완료 큐(RIO_CQ 구조체) 및 요청 큐(RIO_RQ 구조체)에 대한 액세스는 동기화 기본 형식으로 보호되지 않습니다. 여러 스레드에서 완료 또는 요청 큐에 액세스해야 하는 경우 중요한 섹션, 슬림 판독기 쓰기 잠금 또는 유사한 메커니즘을 통해 액세스를 조정해야 합니다. 이 잠금은 단일 스레드의 액세스에 필요하지 않습니다. 다른 스레드는 잠금 없이 별도의 요청/완료 큐에 액세스할 수 있습니다. 동기화의 필요성은 여러 스레드가 동일한 큐에 액세스하려고 할 때만 발생합니다. 송신 및 수신 작업이 소켓의 요청 큐를 사용하기 때문에 여러 스레드 문제가 동일한 소켓에서 보내고 받는 경우에도 동기화가 필요합니다.

 

RIO_RQ typedef는 Mswsock.h 헤더 파일에 자동으로 포함되는 Mswsockdef.h 헤더 파일에 정의됩니다. Mswsockdef.h 헤더 파일은 직접 사용하면 안 됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2012 [데스크톱 앱만 해당]
헤더
Mswsockdef.h(Mswsock.h 포함)

추가 정보

RIOCreateRequestQueue

RIOReceive

RIOReceiveEx

RIOResizeRequestQueue

RIOSend

RIOSendEx

WSASocket