RIO_BUFFERID

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

typedef struct RIO_BUFFERID_t* RIO_BUFFERID, **PRIO_BUFFERID;

RIO_BUFFERID

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

Комментарии

Зарегистрированные расширения ввода-вывода Winsock работают в основном с зарегистрированными буферами с помощью RIO_BUFFERID объектов. Приложение получает RIO_BUFFERID для существующего буфера с помощью функции RIORegisterBuffer . Приложение может освободить регистрацию с помощью функции RIODeregisterBuffer .

Если существующий буфер регистрируется как объект RIO_BUFFERID с помощью функции RIORegisterBuffer , некоторые внутренние ресурсы выделяются из физической памяти, а существующий буфер приложения будет заблокирован в физической памяти. Функция RIODeregisterBuffer вызывается для отмены регистрации буфера, освобождения этих внутренних ресурсов и разблокировки буфера и освобождения из физической памяти.

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

  • • Максимальное повторное использование буферов.
  • • Поддерживать ограниченный пул неиспользуемых зарегистрированных буферов для использования приложением.
  • • Поддерживать ограниченный пул зарегистрированных буферов и выполнять копирование буферов между этими зарегистрированными буферами и другими незарегистрированными буферами.

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

Требования

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

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

RIO_BUF

RIODeregisterBuffer

RIOReceive

RIOReceiveEx

RIORegisterBuffer

RIOSend

RIOSendEx