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 :
- Appelle WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitialize ou WdfDmaTransactionInitializeUsingOffset pour initialiser l’objet transaction.
- Appelle WdfDmaTransactionSetTransferCompleteCallback sur l’objet transaction.
- Appelle WdfDmaTransactionExecute.
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) |