WdfDmaTransactionGetTransferInfo function (wdfdmatransaction.h)

[Applies to KMDF only]

The WdfDmaTransactionGetTransferInfo method returns the number of map registers and scatter/gather list entries required for an initialized DMA transaction.

Syntax

void WdfDmaTransactionGetTransferInfo(
  [in]            WDFDMATRANSACTION DmaTransaction,
  [out, optional] ULONG             *MapRegisterCount,
  [out, optional] ULONG             *ScatterGatherElementCount
);

Parameters

[in] DmaTransaction

A handle to an initialized DMA transaction object.

[out, optional] MapRegisterCount

A caller-supplied location that, on return, contains the number of map registers required for the specified transaction. This parameter is optional and can be NULL.

[out, optional] ScatterGatherElementCount

A caller-supplied location that, on return, contains the number of scatter/gather elements required for the specified transaction. This parameter is optional and can be NULL.

Return value

None

Remarks

The driver might call WdfDmaTransactionGetTransferInfo before calling WdfDmaTransactionAllocateResources or WdfDmaTransactionExecute.

When using DMA version 3, this method returns an accurate count of the number of map registers needed. When using earlier DMA versions, this method assumes that each page requires a map register.

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.11
Header wdfdmatransaction.h (include Wdf.h)
Library Wdf01000.sys (see Framework Library Versioning.)
IRQL <=DISPATCH_LEVEL
DDI compliance rules DriverCreate(kmdf)

See also

WdfDmaTransactionAllocateResources

WdfDmaTransactionExecute