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


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

Структура SERCX2_CUSTOM_TRANSMIT_CONFIG содержит сведения, которые версии 2 расширения последовательной платформы (SerCx2) используются для настройки нового пользовательского объекта передачи.

Синтаксис

typedef struct _SERCX2_CUSTOM_TRANSMIT_CONFIG {
  ULONG   Size;
  ULONG   Alignment;
  ULONG   MinimumTransactionLength;
  ULONG   MaximumTransactionLength;
  ULONG   MinimumTransferUnit;
  BOOLEAN Exclusive;
} SERCX2_CUSTOM_TRANSMIT_CONFIG, *PSERCX2_CUSTOM_TRANSMIT_CONFIG;

Члены

Size

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

Alignment

Требование выравнивания данных. Указывает, как начальный адрес передачи в пользовательской транзакции передачи должен быть выровнен в памяти. Задайте этому элементу соответствующую константу FILE_XXX_ALIGNMENT в файле заголовка Wdm.h. Например, FILE_WORD_ALIGNMENT указывает, что начальный адрес должен быть выровнен по двухбайтовой границе в памяти, FILE_LONG_ALIGNMENT указывает, что адрес должен быть выровнен с четырехбайтовой границей и т. д.

MinimumTransactionLength

Минимальная длина передачи данных в байтах в пользовательской транзакции передачи. Если длина буфера в запросе записи (IRP_MJ_WRITE) меньше этой минимальной длины, SerCx2 использует запрограммированный ввод-вывод (PIO) для транзакции.

MaximumTransactionLength

Максимальная длина передачи данных в байтах в пользовательской транзакции передачи данных. Если размер буфера в запросе на запись превышает эту максимальную длину, SerCx2 использует несколько пользовательских транзакций передачи для обработки запроса и ограничивает каждую транзакцию максимальной длиной.

MinimumTransferUnit

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

Exclusive

Следует ли использовать пользовательские транзакции передачи исключительно для обработки запросов на запись (IRP_MJ_WRITE) . Задайте значение TRUE, чтобы указать, что запросы на запись должны использовать исключительно пользовательские транзакции передачи. Установите значение FALSE, чтобы указать, что запросы на запись могут использовать комбинацию транзакций пользовательской передачи и транзакций передачи личных данных.

Задайте для этого элемента значение TRUE только в том случае, если минимальная единица передачи для пользовательских транзакций — один байт, минимальная длина транзакции — один байт, а буфер записи для транзакции может начинаться с любой границы байтов в памяти.

Если монопольнаяtrue, MinimumTransferUnit, выравниванияи элементов MinimumTransactionLength должно быть равно нулю.

Замечания

Метод SerCx2CustomTransmitCreate принимает указатель на структуру SERCX2_CUSTOM_TRANSMIT_CONFIG в качестве входного параметра. Перед вызовом SerCx2CustomTransmitCreateвызовите функцию SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT для инициализации этой структуры.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается начиная с Windows 8.1.
заголовка sercx.h

См. также

DMA_ADAPTER_INFO_V1

IRP_MJ_WRITE

SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT

SerCx2CustomTransmitCreate