Partager via


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)

Voir aussi

WdfDmaTransactionInitialize