Partager via


Fonction WdfDmaTransactionSetTransferCompleteCallback (wdfdmatransaction.h)

[S’applique uniquement à KMDF]

La méthode WdfDmaTransactionSetTransferCompleteCallback inscrit une fonction de rappel d’événement de fin de transfert pour une transaction DMA en mode système.

Syntaxe

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

Paramètres

[in] DmaTransaction

Handle vers un objet de transaction DMA initialisé pour lequel définir ou effacer le rappel de fin de transfert.

[in, optional] DmaCompletionRoutine

Pointeur vers la fonction de rappel de l’événement EvtDmaTransactionDmaTransferComplete du pilote ou NULL pour effacer une fonction de rappel précédemment définie.

[in, optional] DmaCompletionContext

Pointeur vers une mémoire tampon contenant le contexte spécifié par le pilote à fournir à la fonction de rappel d’événement EvtDmaTransactionDmaTransferComplete du pilote, ou NULL.

Valeur de retour

None

Remarques

Le pilote appelle cette méthode pour définir une routine d’achèvement que l’infrastructure appelle une fois que le contrôleur DMA système a terminé un transfert. L’infrastructure appelle le rappel EvtDmaTransactionDmaTransferComplete du pilote une fois pour chaque transfert dans la transaction.

En règle générale, à partir d’une fonction de rappel d’événement de file d’attente d’E/S, un pilote effectue les étapes suivantes, dans cet ordre :

  1. Appelle WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitialize ou WdfDmaTransactionInitializeUsingOffset pour initialiser l’objet transaction.
  2. Appelle WdfDmaTransactionSetTransferCompleteCallback sur l’objet transaction.
  3. Appelle WdfDmaTransactionExecute.
Si le pilote a spécifié une fonction de rappel d’événement EvtDmaTransactionDmaTransferComplete en appelant WdfDmaTransactionSetTransferCompleteCallback et que le pilote appelle par la suite WdfDmaTransactionRelease, le rappel est effacé.

WdfDmaTransactionSetTransferCompleteCallback ne peut être utilisé qu’avec un enabler DMA qui spécifie un profil DMA en mode système.

Si votre pilote appelle cette méthode sur un système d’exploitation antérieur à Windows 8, le vérificateur de l’infrastructure signale une erreur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Plateforme cible Universal
Version KMDF minimale 1.11
En-tête wdfdmatransaction.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (consultez Gestion de version de la bibliothèque d’infrastructure.)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf)

Voir aussi

EvtDmaTransactionDmaTransferComplete

WdfDmaTransactionRelease