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


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

[Относится только к KMDF]

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

Синтаксис

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

Параметры

[in] DmaTransaction

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

[in] RequireSingleTransfer

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

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

None

Remarks

Этот метод запрашивает одну передачу только для одной транзакции. При перезапуске объекта транзакции с помощью 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, установите для элемента WdmDmaVersionOverrideWDF_DMA_ENABLER_CONFIG значение 3.

Требования

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

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

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest