WdfDmaTransactionInitializeUsingOffset, fonction (wdfdmatransaction.h)
[S’applique uniquement à KMDF]
La méthode WdfDmaTransactionInitializeUsingOffset initialise une transaction DMA spécifiée à l’aide d’un décalage d’octet dans une chaîne MDL.
Syntaxe
NTSTATUS WdfDmaTransactionInitializeUsingOffset(
[in] WDFDMATRANSACTION DmaTransaction,
[in] PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
[in] WDF_DMA_DIRECTION DmaDirection,
[in] PMDL Mdl,
[in] size_t Offset,
[in] size_t Length
);
Paramètres
[in] DmaTransaction
Handle pour un objet de transaction DMA que le pilote a obtenu à partir d’un appel précédent à WdfDmaTransactionCreate.
[in] EvtProgramDmaFunction
Pointeur vers la fonction de rappel d’événement EvtProgramDma du pilote.
[in] DmaDirection
Valeur de type WDF_DMA_DIRECTION.
[in] Mdl
Pointeur vers une liste de descripteurs de mémoire (MDL) qui décrit la mémoire tampon qui sera utilisée pour la transaction DMA. Pour plus d’informations, consultez Remarques.
[in] Offset
Décalage d’octet dans la chaîne MDL pour la transaction actuelle.
[in] Length
Nombre d’octets à transférer. Cette valeur doit être supérieure à zéro.
Valeur retournée
WdfDmaTransactionInitializeUsingOffset retourne STATUS_SUCCESS si l’opération réussit. Sinon, la méthode peut retourner l’une des valeurs décrites dans la section Valeurs de retour de WdfDmaTransactionInitialize.
Cette méthode peut également retourner d’autres valeurs NTSTATUS.
Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.
Remarques
WdfDmaTransactionInitializeUsingOffset est équivalent à WdfDmaTransactionInitialize , sauf qu’il prend un décalage dans la mémoire tampon décrite par la chaîne MDL plutôt qu’une adresse virtuelle.
Le pilote peut spécifier une chaîne MDL dans le paramètre Mdl de cette méthode. Une chaîne MDL est une séquence de structures MDL que le pilote a chaînées ensemble à l’aide du membre Suivant de la structure MDL.
Configuration requise
Condition requise | Valeur |
---|---|
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) |