Поделиться через


структура SERCX_BUFFER_DESCRIPTOR (sercx.h)

Структура SERCX_BUFFER_DESCRIPTOR описывает буфер данных для операции получения или передачи.

Синтаксис

typedef struct SERCX_BUFFER_DESCRIPTOR {
  USHORT Size;
  PUCHAR Buffer;
  ULONG  Length;
} SERCX_BUFFER_DESCRIPTOR, *PSERCX_BUFFER_DESCRIPTOR;

Члены

Size

Размер данной структуры (в байтах). Методы SerCxRetrieveReceiveBuffer и SerCxRetrieveTransmitBuffer используют этот элемент, чтобы определить, какую версию структуры использует вызывающий объект. Размер этой структуры может измениться в будущих версиях файла заголовка Sercx.h.

Buffer

Адрес виртуальной памяти буфера. Память для буфера не погашена.

Length

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

Комментарии

Драйвер последовательного контроллера использует сведения в этой структуре, чтобы определить, откуда в памяти следует считывать данные во время операции получения, а где в памяти записывать данные во время операции передачи.

В любой момент времени может быть не более одного допустимого буфера приема и одного допустимого буфера передачи. Драйвер контроллера вызывает метод SerCxRetrieveReceiveBuffer , чтобы получить буфер приема, и вызывает метод SerCxRetrieveTransmitBuffer для получения буфера передачи. Оба метода копируют описания буфера в структуры, выделенные вызывающим объектом SERCX_BUFFER_DESCRIPTOR . Последующий вызов одного из этих методов делает недействительным ранее выданный дескриптор для буфера приема или буфера передачи соответственно. Вызывающий объект не должен обращаться к буферу, описанному дескриптором буфера, который больше не является допустимым.

Буферы, полученные при последовательных вызовах SerCxRetrieveReceiveBuffer или SerCxRetrieveTransmitBuffer , не гарантируются как непрерывные.

Драйвер контроллера должен вызвать функцию SERCX_BUFFER_DESCRIPTOR_INIT для инициализации структуры SERCX_BUFFER_DESCRIPTOR перед передачей структуры в метод SerCxRetrieveReceiveBuffer или SerCxRetrieveTransmitBuffer . После инициализации дескриптора буфера его можно использовать повторно без повторной инициализации.

Требования

Требование Значение
Минимальная версия клиента Поддерживается начиная с Windows 8.
Верхняя часть sercx.h

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

SERCX_BUFFER_DESCRIPTOR_INIT

SerCxRetrieveReceiveBuffer

SerCxRetrieveTransmitBuffer