WdfDmaTransactionSetSingleTransferRequirement - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdfdmatransaction.h

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

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-wdfdmatransaction-wdfdmatransactionsetsingletransferrequirement)

WdfDmaTransactionSetSingleTransferRequirement function

Description

[Applies to KMDF only]

The WdfDmaTransactionSetSingleTransferRequirement method specifies that a DMA transaction must complete in a single transfer.

Parameters

DmaTransaction [in]

A handle to a DMA transaction object that the driver obtained from a previous call to WdfDmaTransactionCreate.

RequireSingleTransfer [in]

A Boolean value that, if TRUE, specifies that the DMA transaction requires a single transfer.

Remarks

This method requests a single transfer for a single transaction only. When the transaction object is recycled with WdfDmaTransactionRelease and reinitialized, this setting resets, similar to other transaction-level properties such as immediate execution and maximum transfer length.

To request single transfer for all DMA transactions created with a given DMA enabler, specify WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER in WDF_DMA_ENABLER_CONFIG_FLAGS when calling WdfDmaEnablerCreate. This is equivalent to calling WdfDmaTransactionSetSingleTransferRequirement for each transaction object created with the DMA enabler.

The driver calls WdfDmaTransactionSetSingleTransferRequirement after creating or recycling the transaction object, but before initializing or executing it. For more info, see Using Single Transfer DMA.

WdfDmaTransactionSetSingleTransferRequirement requires DMA version 3. To select DMA version 3, set the WdmDmaVersionOverride member of WDF_DMA_ENABLER_CONFIG to 3.

See also

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest