RIO_RQ

Die RIO_RQ Typdefinition gibt einen Socketdeskriptor an, der vom Senden und Empfangen von Anforderungen mit den winsock-registrierten E/A-Erweiterungen verwendet wird.

typedef struct RIO_RQ_t* RIO_RQ, **PRIO_RQ;

RIO_RQ

Ein Datentyp, der einen Socketdeskriptor angibt, der von Sende- und Empfangsanforderungen verwendet wird.

Bemerkungen

Die winsock-registrierten E/A-Erweiterungen werden in erster Linie für ein RIO_RQ-Objekt und nicht für einen Socket verwendet. Eine Anwendung ruft mithilfe der RIOCreateRequestQueue-Funktion eine RIO_RQ für einen vorhandenen Socket ab. Der Eingabesocket muss durch Aufrufen der WSASocket-Funktion mit dem imdwFlags-Parameter festgelegten WSA_FLAG_RIO-Flag erstellt worden sein.

Nach dem Abrufen eines RIO_RQ-Objekts bleibt der zugrunde liegende Socketdeskriptor gültig. Eine Anwendung kann weiterhin den zugrunde liegenden Socket verwenden, um Socketoptionen festzulegen und abzufragen, IOCTLs ausgibt und schließlich den Socket zu schließen.

Hinweis

Aus Effizienzgründen werden der Zugriff auf die Abschlusswarteschlangen (RIO_CQ Strukturen) und Anforderungswarteschlangen (RIO_RQ Strukturen) nicht durch Synchronisierungsgrundtypen geschützt. Wenn Sie über mehrere Threads auf eine Vervollständigungs- oder Anforderungswarteschlange zugreifen müssen, sollte der Zugriff durch einen kritischen Abschnitt, eine schlanke Lesesperre oder einen ähnlichen Mechanismus koordiniert werden. Diese Sperre ist für den Zugriff durch einen einzelnen Thread nicht erforderlich. Verschiedene Threads können ohne Sperren auf separate Anforderungs-/Vervollständigungswarteschlangen zugreifen. Die Notwendigkeit einer Synchronisierung tritt nur auf, wenn mehrere Threads versuchen, auf dieselbe Warteschlange zuzugreifen. Eine Synchronisierung ist auch erforderlich, wenn mehrere Threads senden und empfangen, die auf demselben Socket gesendet und empfangen werden, da die Sende- und Empfangsvorgänge die Anforderungswarteschlange des Sockets verwenden.

 

Die RIO_RQ Typedef wird in der Headerdatei Mswsockdef.h definiert, die automatisch in der Headerdatei "Mswsock.h " enthalten ist. Die Headerdatei "Mswsockdef.h " sollte niemals direkt verwendet werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2012 [nur Desktop-Apps]
Header
Mswsockdef.h (mswsock.h einschließen)

Siehe auch

RIOCreateRequestQueue

RIOReceive

RIOReceiveEx

RIOResizeRequestQueue

RIOSend

RIOSendEx

WSASocket