Compartilhar via


RIO_RQ

O typedef RIO_RQ especifica um descritor de soquete usado por solicitações de envio e recebimento com as extensões de E/S registradas do Winsock.

typedef struct RIO_RQ_t* RIO_RQ, **PRIO_RQ;

RIO_RQ

Um tipo de dados que especifica um descritor de soquete usado por solicitações de envio e recebimento.

Comentários

As extensões de E/S registradas do Winsock operam principalmente em um objeto RIO_RQ em vez de um soquete. Um aplicativo obtém um RIO_RQ para um soquete existente usando a função RIOCreateRequestQueue . O soquete de entrada deve ter sido criado chamando a função WSASocket com o sinalizador WSA_FLAG_RIO definido no parâmetro dwFlags .

Depois de obter um objeto RIO_RQ , o descritor de soquete subjacente permanece válido. Um aplicativo pode continuar a usar o soquete subjacente para definir e consultar opções de soquete, emitir IOCTLs e, por fim, fechar o soquete.

Observação

Para fins de eficiência, o acesso às filas de conclusão (RIO_CQ structs) e às filas de solicitação (RIO_RQ structs) não são protegidos por primitivos de sincronização. Se você precisar acessar uma fila de conclusão ou solicitação de vários threads, o acesso deverá ser coordenado por uma seção crítica, bloqueio de gravação de leitor fino ou mecanismo semelhante. Esse bloqueio não é necessário para acesso por um único thread. Threads diferentes podem acessar filas de solicitações/conclusão separadas sem bloqueios. A necessidade de sincronização ocorre somente quando vários threads tentam acessar a mesma fila. A sincronização também será necessária se vários threads forem enviados e recebidos no mesmo soquete porque as operações de envio e recebimento usarão a fila de solicitação do soquete.

 

O typedef RIO_RQ é definido no arquivo de cabeçalho Mswsockdef.h que é incluído automaticamente no arquivo de cabeçalho Mswsock.h . O arquivo de cabeçalho Mswsockdef.h nunca deve ser usado diretamente.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2012 [somente aplicativos da área de trabalho]
Cabeçalho
Mswsockdef.h (inclua Mswsock.h)

Confira também

RIOCreateRequestQueue

RIOReceive

RIOReceiveEx

RIOResizeRequestQueue

RIOSend

RIOSendEx

Wsasocket