WdfDmaTransactionSetImmediateExecution - NtDoc

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

VOID WdfDmaTransactionSetImmediateExecution(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] BOOLEAN           UseImmediateExecution
);

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

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

WdfDmaTransactionSetImmediateExecution function

Description

[Applies to KMDF only]

The WdfDmaTransactionSetImmediateExecution method marks the specified DMA transaction so that calls to WdfDmaTransactionExecute and WdfDmaTransactionAllocateResources initiate the transaction immediately or fail.

Parameters

DmaTransaction [in]

A handle to a DMA transaction object to mark for immediate execution.

UseImmediateExecution [in]

A Boolean value which, if TRUE, indicates that the transaction should execute immediately (or fail if resources are not available), and, if FALSE, indicates that the transaction should be queued for execution once DMA resources are available.

Remarks

Before calling WdfDmaTransactionSetImmediateExecution, the driver must initialize the transaction.

If the driver calls WdfDmaTransactionExecute or WdfDmaTransactionAllocateResources after calling WdfDmaTransactionSetImmediateExecution with UseImmediateExecution set to TRUE, and the resources needed for the request are unavailable, that method returns STATUS_INSUFFICIENT_RESOURCES. If the required resources are available, the framework claims them and initiates the call synchronously.

After the driver marks a transaction for immediate execution, the transaction remains marked as such until the driver calls WdfDmaTransactionRelease or clears the flag by calling WdfDmaTransactionSetImmediateExecution with UseImmediateExecution set to FALSE.

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

If your driver calls this method on an operating system earlier than Windows 8, the framework's verifier reports an error.

See also

WdfDmaTransactionAllocateResources

WdfDmaTransactionExecute

WdfDmaTransactionRelease