RIO_RQ

Определение типа RIO_RQ указывает дескриптор сокета, используемый для отправки и получения запросов с зарегистрированными расширениями ввода-вывода Winsock.

typedef struct RIO_RQ_t* RIO_RQ, **PRIO_RQ;

RIO_RQ

Тип данных, указывающий дескриптор сокета, используемый при отправке и получении запросов.

Комментарии

Зарегистрированные расширения ввода-вывода Winsock работают в основном с объектом RIO_RQ , а не сокетом. Приложение получает RIO_RQ для существующего сокета с помощью функции RIOCreateRequestQueue . Входной сокет должен быть создан путем вызова функции WSASocket с флагом WSA_FLAG_RIO , установленным в параметре dwFlags .

После получения объекта RIO_RQ базовый дескриптор сокета остается действительным. Приложение может продолжать использовать базовый сокет для задания и запроса параметров сокета, выдачи IOCTL и в конечном итоге закрытия сокета.

Примечание

Для повышения эффективности доступ к очередям завершения (RIO_CQ структуры) и очередям запросов (RIO_RQ структуры) не защищен примитивами синхронизации. Если вам нужно получить доступ к очереди завершения или запроса из нескольких потоков, доступ должен координироваться критически важным разделом, тонкой блокировкой записи средства чтения или аналогичным механизмом. Эта блокировка не требуется для доступа одним потоком. Различные потоки могут получать доступ к отдельным очередям запросов и завершения без блокировок. Синхронизация возникает только в том случае, если несколько потоков пытаются получить доступ к одной очереди. Синхронизация также требуется, если несколько потоков отправляют и получают в одном сокете, так как операции отправки и получения используют очередь запросов сокета.

 

RIO_RQ typedef определяется в файле заголовка Mswsockdef.h, который автоматически включается в файл заголовка Mswsock.h. Файл заголовка Mswsockdef.h никогда не следует использовать напрямую.

Требования

Требование Значение
Минимальная версия клиента
Windows 8 [только классические приложения]
Минимальная версия сервера
Windows Server 2012 [только классические приложения]
Заголовок
Mswsockdef.h (включая Mswsock.h)

См. также раздел

RIOCreateRequestQueue

RIOReceive

RIOReceiveEx

RIOResizeRequestQueue

RIOSend

RIOSendEx

WSASocket