Freigeben über


WdfDmaTransactionSetTransferCompleteCallback-Funktion (wdfdmatransaction.h)

[Gilt nur für KMDF]

Die WdfDmaTransactionSetTransferCompleteCallback- Methode registriert eine Rückruffunktion für das Übertragungsabschlussereignis für eine DMA-Transaktion im Systemmodus.

Syntax

VOID WdfDmaTransactionSetTransferCompleteCallback(
  [in]           WDFDMATRANSACTION                             DmaTransaction,
  [in, optional] PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
  [in, optional] PVOID                                         DmaCompletionContext
);

Die Parameter

[in] DmaTransaction

Ein Handle für ein initialisiertes DMA-Transaktionsobjekt, für das der Transferabschlussrückruf festgelegt oder gelöscht werden soll.

[in, optional] DmaCompletionRoutine

Ein Zeiger auf die EvtDmaTransactionDmaTransferComplete Ereignisrückruffunktion oder NULL, um eine zuvor festgelegte Rückruffunktion zu löschen.

[in, optional] DmaCompletionContext

Ein Zeiger auf einen Puffer, der den vom Treiber angegebenen Kontext enthält, der für die EvtDmaTransactionDmaTransferComplete Ereignisrückruffunktion oder NULL bereitgestellt werden soll.

Rückgabewert

Nichts

Bemerkungen

Der Treiber ruft diese Methode auf, um eine Abschlussroutine festzulegen, die vom Framework aufgerufen wird, nachdem der System-DMA-Controller eine Übertragung abgeschlossen hat. Das Framework ruft die EvtDmaTransactionDmaTransferComplete Rückruf für jede Übertragung in der Transaktion auf.

In der Regel innerhalb einer E/A-Ereignisrückruffunktionführt ein Treiber die folgenden Schritte in dieser Reihenfolge aus:

  1. Ruft WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitializeoder WdfDmaTransactionInitializeUsingOffset auf, um das Transaktionsobjekt zu initialisieren.
  2. Ruft WdfDmaTransactionSetTransferCompleteCallback- für das Transaktionsobjekt auf.
  3. Ruft WdfDmaTransactionExecuteauf.
Wenn der Treiber eine EvtDmaTransactionDmaTransferComplete Ereignisrückruffunktion angegeben hat, indem WdfDmaTransactionSetTransferCompleteCallback aufgerufen wird und der Treiber anschließend WdfDmaTransactionReleaseaufruft, wird der Rückruf gelöscht.

WdfDmaTransactionSetTransferCompleteCallback- kann nur mit einem DMA-Enabler verwendet werden, der ein DMA-Profil im Systemmodus angibt.

Wenn Ihr Treiber diese Methode auf einem Früheren Betriebssystem als Windows 8 aufruft, meldet der Überprüfung des Frameworks einen Fehler.

Anforderungen

Anforderung Wert
Unterstützter Client (Mindestversion) Windows 8
Zielplattform universell
Minimale KMDF-Version 1.11
Kopfzeile wdfdmatransaction.h (include Wdf.h)
Bibliothek Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf)

Siehe auch

EvtDmaTransactionDmaTransferComplete

WdfDmaTransactionRelease