структура SERCX2_CUSTOM_RECEIVE_CONFIG (sercx.h)
Структура SERCX2_CUSTOM_RECEIVE_CONFIG содержит сведения, которые версии 2 расширения последовательной платформы (SerCx2) используются для настройки нового объекта пользовательского получения.
Синтаксис
typedef struct _SERCX2_CUSTOM_RECEIVE_CONFIG {
ULONG Size;
ULONG Alignment;
ULONG MinimumTransactionLength;
ULONG MaximumTransactionLength;
ULONG MinimumTransferUnit;
BOOLEAN Exclusive;
} SERCX2_CUSTOM_RECEIVE_CONFIG, *PSERCX2_CUSTOM_RECEIVE_CONFIG;
Члены
Size
Размер этой структуры в байтах. Метод SerCx2CustomReceiveCreate использует этот элемент для определения версии структуры, которую использует вызывающий объект. Размер этой структуры может измениться в будущих версиях файла заголовка Sercx.h.
Alignment
Требование выравнивания данных. Указывает, как начальный адрес передачи в пользовательской транзакции получения должен быть выровнен в памяти. Задайте этому элементу соответствующую константу FILE_XXX_ALIGNMENT в файле заголовка Wdm.h. Например, FILE_WORD_ALIGNMENT указывает, что начальный адрес должен быть выровнен по двухбайтовой границе в памяти, FILE_LONG_ALIGNMENT указывает, что адрес должен быть выровнен с четырехбайтовой границей и т. д.
MinimumTransactionLength
Минимальная длина передачи данных в байтах в пользовательской транзакции получения. Если длина буфера в запросе чтения (IRP_MJ_READ) меньше этой минимальной длины, SerCx2 использует запрограммированный ввод-вывод (PIO) для транзакции.
MaximumTransactionLength
Максимальная длина передачи данных в байтах в пользовательской транзакции получения. Если размер буфера в запросе чтения превышает эту максимальную длину, SerCx2 использует несколько пользовательских транзакций получения для обработки запроса и ограничивает каждую транзакцию максимальной длиной.
MinimumTransferUnit
Минимальная единица передачи. Число байтов, указанных элементом в списке точечной или сборной, должно быть целым числом минимальной единицы передачи. Чтобы указать, что необходимо использовать минимальную единицу передачи по умолчанию, установите для этого элемента значение нулю. Дополнительные сведения о минимальной единице передачи по умолчанию см. в DMA_ADAPTER_INFO_V1.
Exclusive
Следует ли использовать транзакции пользовательского получения исключительно для обработки запросов на запись (IRP_MJ_READ) . Задайте значение TRUE, чтобы указать, что запросы на чтение должны использовать только транзакции с пользовательским получением. Установите значение FALSE, чтобы указать, что запросы на чтение могут использовать сочетание транзакций с пользовательским получением и транзакций получения пино-кода.
Присвойте этому элементу значение TRUE только в том случае, если минимальная единица передачи для пользовательских транзакций составляет один байт, минимальная длина транзакции составляет один байт, а буфер чтения для транзакции может начинаться на любой границе байтов в памяти.
Если монопольнаяtrue, MinimumTransferUnitOverride, выравниванияи элементов MinimumTransactionLength должно быть равно нулю.
Независимо от значения этого члена, транзакции piO-receive используются для сохранения любых непрочитанных данных в получающем FIFO, прежде чем последовательный контроллер выходит из состояния питания устройства D0, чтобы войти в состояние низкой мощности.
Замечания
Метод SerCx2CustomReceiveCreate принимает указатель на структуру SERCX2_CUSTOM_RECEIVE_CONFIG в качестве входного параметра. Перед вызовом SerCx2CustomReceiveCreateвызовите функцию SERCX2_CUSTOM_RECEIVE_CONFIG_INIT для инициализации этой структуры.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается начиная с Windows 8.1. |
заголовка | sercx.h |