структура 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 |