WdfDmaTransactionSetImmediateExecution function (wdfdmatransaction.h)
[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.
void WdfDmaTransactionSetImmediateExecution( WDFDMATRANSACTION DmaTransaction, BOOLEAN UseImmediateExecution );
[in] A handle to a DMA transaction object to mark for immediate execution.
[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.
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.
|Minimum supported client||Windows 8|
|Minimum KMDF version||1.11|
|Header||wdfdmatransaction.h (include Wdf.h)|
|Library||Wdf01000.sys (see Framework Library Versioning.)|
|DDI compliance rules||DriverCreate|