Compartir a través de


RIO_RQ

La definición de tipo RIO_RQ especifica un descriptor de socket utilizado por las solicitudes de envío y recepción con las extensiones de E/S registradas de Winsock.

typedef struct RIO_RQ_t* RIO_RQ, **PRIO_RQ;

RIO_RQ

Tipo de datos que especifica un descriptor de socket utilizado por las solicitudes de envío y recepción.

Observaciones

Las extensiones de E/S registradas de Winsock funcionan principalmente en un objeto de RIO_RQ en lugar de en un socket. Una aplicación obtiene un RIO_RQ para un socket existente mediante la función RIOCreateRequestQueue . El socket de entrada debe haberse creado llamando a la función WSASocket con la marca WSA_FLAG_RIO establecida en el parámetro dwFlags .

Después de obtener un objeto RIO_RQ , el descriptor de socket subyacente sigue siendo válido. Una aplicación puede seguir usando el socket subyacente para establecer y consultar las opciones de socket, emitir IOPS y, en última instancia, cerrar el socket.

Nota

Con fines de eficacia, el acceso a las colas de finalización (RIO_CQ structs) y las colas de solicitudes (RIO_RQ structs) no están protegidas por primitivos de sincronización. Si necesita acceder a una cola de finalización o solicitud desde varios subprocesos, el acceso debe coordinarse mediante una sección crítica, un bloqueo de escritura de lector delgado o un mecanismo similar. Este bloqueo no es necesario para el acceso mediante un único subproceso. Los distintos subprocesos pueden acceder a solicitudes o colas de finalización independientes sin bloqueos. La necesidad de sincronización solo se produce cuando varios subprocesos intentan acceder a la misma cola. La sincronización también es necesaria si varios subprocesos emite y recibe en el mismo socket porque las operaciones de envío y recepción usan la cola de solicitudes del socket.

 

La definición de tipo RIO_RQ se define en el archivo de encabezado Mswsockdef.h que se incluye automáticamente en el archivo de encabezado Mswsock.h . El archivo de encabezado Mswsockdef.h nunca se debe usar directamente.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2012 [solo aplicaciones de escritorio]
Encabezado
Mswsockdef.h (incluya Mswsock.h)

Vea también

RIOCreateRequestQueue

RIOReceive

RIOReceiveEx

RIOResizeRequestQueue

RIOSend

RIOSendEx

WSASocket