次の方法で共有


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 構造体) へのアクセスは、同期プリミティブによって保護されません。 複数のスレッドから完了キューまたは要求キューにアクセスする必要がある場合は、クリティカル セクション、スリム リーダー書き込みロック、または同様のメカニズムによってアクセスを調整する必要があります。 このロックは、1 つのスレッドによるアクセスには必要ありません。 異なるスレッドは、ロックなしで個別の要求/完了キューにアクセスできます。 同期の必要性は、複数のスレッドが同じキューにアクセスしようとする場合にのみ発生します。 また、送受信操作でソケットの要求キューが使用されるため、複数のスレッドの問題が同じソケットで送受信される場合も同期が必要です。

 

RIO_RQ typedef は、Mswsockdef.h ヘッダー ファイルに自動的に含まれる Mswsockdef.h ヘッダー ファイルで定義されます。 Mswsockdef.h ヘッダー ファイルを直接使用しないでください。

要件

要件
サポートされている最小のクライアント
Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2012 [デスクトップ アプリのみ]
Header
Mswsockdef.h (Mswsock.h を含む)

こちらもご覧ください

RIOCreateRequestQueue

RIOReceive

RIOReceiveEx

RIOResizeRequestQueue

RIOSend

RIOSendEx

WSASocket