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


Функция WdfDmaTransactionSetMaximumLength (wdfdmatransaction.h)

[Применяется только к KMDF]

Метод WdfDmaTransactionSetMaximumLength задает максимальную длину передачИ DMA, связанных с указанной транзакцией DMA.

Синтаксис

void WdfDmaTransactionSetMaximumLength(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] size_t            MaximumLength
);

Параметры

[in] DmaTransaction

Дескриптор объекта транзакции DMA, полученного драйвером при предыдущем вызове WdfDmaTransactionCreate.

[in] MaximumLength

Максимальный размер (в байтах), который устройство может обрабатывать за одну операцию передачи DMA. Если драйвер должен работать в версиях операционных систем Microsoft Windows, поддерживающих не более 16 регистров карт, значение MaximumLength должно быть меньше 65536.

Значение MaximumLength применяется только к указанной транзакции DMA, как показано ниже.

  • Если указанное значение меньше значения по умолчанию, указанного драйвером в его WDF_DMA_ENABLER_CONFIG структуре, указанное значение переопределяет значение по умолчанию.
  • Если указанное значение больше значения по умолчанию, указанное значение игнорируется.

Возвращаемое значение

None

Remarks

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Драйвер должен инициализировать транзакцию DMA перед вызовом WdfDmaTransactionSetMaximumLength.

Сведения об инициализации транзакции DMA см. в разделе Создание и инициализация транзакции DMA.

Примеры

В следующем примере кода для указанной транзакции DMA устанавливается максимальная длина передачи, определяемая драйвером.

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfdmatransaction.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки платформы).
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf)

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

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate