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


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

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

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

Синтаксис

void WdfDmaTransactionSetSingleTransferRequirement(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] BOOLEAN           RequireSingleTransfer
);

Параметры

[in] DmaTransaction

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

[in] RequireSingleTransfer

Логическое значение, которое, если TRUE, указывает, что для транзакции DMA требуется одна передача.

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

Нет

Замечания

Этот метод запрашивает только одну передачу для одной транзакции. Когда объект транзакции перезапускается с WdfDmaTransactionRelease и повторно инициализирован, этот параметр сбрасывается, как и другие свойства уровня транзакций, такие как немедленное выполнение и максимальная длина передачи.

Чтобы запросить одну передачу для всех транзакций DMA, созданных с помощью заданного включения DMA, укажите WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER в WDF_DMA_ENABLER_CONFIG_FLAGS при вызове WdfDmaEnablerCreate. Это эквивалентно вызову WdfDmaTransactionSetSingleTransferRequirement для каждого объекта транзакции, созданного с помощью включения DMA.

Драйвер вызывает WdfDmaTransactionSetSingleTransferRequirement после создания или перезапуска объекта транзакции, но перед инициализацией или выполнением. Дополнительные сведения см. в разделе Использованиеодноадресной передачи DMA.

WdfDmaTransactionSetSingleTransferRequirement требует DMA версии 3. Чтобы выбрать DMA версии 3, задайте WdmDmaVersionOverride член WDF_DMA_ENABLER_CONFIG 3.

Требования

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

См. также

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest