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


Функция 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 структуре, указанное значение переопределяет значение по умолчанию.
  • Если указанное значение больше значения по умолчанию, указанное значение игнорируется.

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

Нет

Замечания

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

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

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

Примеры

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

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.0
Заголовок wdfdmatransaction.h (include Wdf.h)
Библиотека Wdf01000.sys (см. управление версиями библиотеки Платформы).)
IRQL <=DISPATCH_LEVEL
правил соответствия DDI DriverCreate(kmdf)

См. также

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate