Share via


RIO_RQ

L’RIO_RQ typedef spécifie un descripteur de socket utilisé pour envoyer et recevoir des requêtes avec les extensions d’E/S inscrites dans Winsock.

typedef struct RIO_RQ_t* RIO_RQ, **PRIO_RQ;

RIO_RQ

Type de données qui spécifie un descripteur de socket utilisé par les demandes d’envoi et de réception.

Notes

Les extensions d’E/S inscrites dans Winsock fonctionnent principalement sur un objet RIO_RQ plutôt qu’un socket. Une application obtient une RIO_RQ pour un socket existant à l’aide de la fonction RIOCreateRequestQueue . Le socket d’entrée doit avoir été créé en appelant la fonction WSASocket avec l’indicateur WSA_FLAG_RIO défini dans le paramètre dwFlags .

Après avoir obtenu un objet RIO_RQ , le descripteur de socket sous-jacent reste valide. Une application peut continuer à utiliser le socket sous-jacent pour définir et interroger les options de socket, émettre des IOCTL et fermer le socket.

Notes

Par souci d’efficacité, l’accès aux files d’attente d’achèvement (RIO_CQ structs) et aux files d’attente de requêtes (RIO_RQ structs) ne sont pas protégés par des primitives de synchronisation. Si vous avez besoin d’accéder à une file d’attente d’achèvement ou de requête à partir de plusieurs threads, l’accès doit être coordonné par une section critique, un verrou d’écriture de lecteur mince ou un mécanisme similaire. Ce verrouillage n’est pas nécessaire pour l’accès par un seul thread. Différents threads peuvent accéder à des demandes/files d’attente d’achèvement distinctes sans verrous. La synchronisation n’est nécessaire que lorsque plusieurs threads tentent d’accéder à la même file d’attente. La synchronisation est également requise si plusieurs threads émettent et reçoivent sur le même socket, car les opérations d’envoi et de réception utilisent la file d’attente de requêtes du socket.

 

Le RIO_RQ typedef est défini dans le fichier d’en-tête Mswsockdef.h qui est automatiquement inclus dans le fichier d’en-tête Mswsock.h . Le fichier d’en-tête Mswsockdef.h ne doit jamais être utilisé directement.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2012 [applications de bureau uniquement]
En-tête
Mswsockdef.h (inclure Mswsock.h)

Voir aussi

RIOCreateRequestQueue

RIOReceive

RIOReceiveEx

RIOResizeRequestQueue

RIOSend

RIOSendEx

WSASocket