Erweitern Minimieren

WdfDmaTransactionSetTransferCompleteCallback method

[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

DmaTransaction [in]

A handle to an initialized DMA transaction object for which to set or clear the transfer completion callback.

DmaCompletionRoutine [in, optional]

A pointer to the driver's EvtDmaTransactionDmaTransferComplete event callback function, or NULL to clear a previously set callback function.

DmaCompletionContext [in, optional]

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

This method does not return a value.

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:

  1. Calls WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitialize, or WdfDmaTransactionInitializeUsingOffset to initialize the transaction object.
  2. Calls WdfDmaTransactionSetTransferCompleteCallback on the transaction object.
  3. Calls WdfDmaTransactionExecute.

If the driver has specified an EvtDmaTransactionDmaTransferComplete event callback function by calling WdfDmaTransactionSetTransferCompleteCallback and the driver subsequently calls WdfDmaTransactionRelease, the callback is cleared.

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

Target platform

Universal

Minimum support

Windows 8

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

See also

EvtDmaTransactionDmaTransferComplete
WdfDmaTransactionRelease

 

 

Send comments about this topic to Microsoft

Anzeigen:
© 2015 Microsoft