Partager via


WdfDmaTransactionSetTransferCompleteCallback, fonction (wdfdmatransaction.h)

[S’applique uniquement à KMDF]

La méthode WdfDmaTransactionSetTransferCompleteCallback inscrit une fonction de rappel d’événement de saisie semi-automatique 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 d’achèvement du transfert.

[in, optional] DmaCompletionRoutine

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

[in, optional] DmaCompletionContext

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

Valeur de retour

Aucun

Remarques

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

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

  1. Appelle WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitialize, ou WdfDmaTransactionInitializeUsingOffset pour initialiser l’objet transactionnel.
  2. Appelle WdfDmaTransactionSetTransferCompleteCallback sur l’objet transactionnel.
  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 ensuite 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 du framework signale une erreur.

Spécifications

Besoin Valeur
client minimum pris en charge Windows 8
plateforme cible Universel
version minimale de KMDF 1.11
En-tête wdfdmatransaction.h (include Wdf.h)
Bibliothèque Wdf01000.sys (voir Versioning de la bibliothèque Framework.)
IRQL <=DISPATCH_LEVEL
règles de conformité DDI DriverCreate(kmdf)

Voir aussi

EvtDmaTransactionDmaTransferComplete

WdfDmaTransactionRelease