WdfDmaTransactionSetTransferCompleteCallback function (wdfdmatransaction.h)
[Applies to KMDF only]
The WdfDmaTransactionSetTransferCompleteCallback method registers a transfer completion event callback function for a system-mode DMA transaction.
Syntax
void WdfDmaTransactionSetTransferCompleteCallback(
[in] WDFDMATRANSACTION DmaTransaction,
[in, optional] PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
[in, optional] PVOID DmaCompletionContext
);
Parameters
[in] DmaTransaction
A handle to an initialized DMA transaction object for which to set or clear the transfer completion callback.
[in, optional] DmaCompletionRoutine
A pointer to the driver's EvtDmaTransactionDmaTransferComplete event callback function, or NULL to clear a previously set callback function.
[in, optional] DmaCompletionContext
A pointer to a buffer containing the driver-specified context to be provided to the driver's EvtDmaTransactionDmaTransferComplete event callback function, or NULL.
Return value
None
Remarks
The driver calls this method to set a completion routine that the framework calls after the system DMA controller completes a transfer. The framework calls the driver's EvtDmaTransactionDmaTransferComplete callback once for each transfer in the transaction.
Typically from within an I/O queue event callback function, a driver performs the following steps, in this order:
- Calls WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitialize, or WdfDmaTransactionInitializeUsingOffset to initialize the transaction object.
- Calls WdfDmaTransactionSetTransferCompleteCallback on the transaction object.
- Calls WdfDmaTransactionExecute.
WdfDmaTransactionSetTransferCompleteCallback can only be used with a DMA enabler that specifies a system-mode DMA profile.
If your driver calls this method on an operating system earlier than Windows 8, the framework's verifier reports an error.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
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) |