Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique uniquement à KMDF]
La méthode WdfDmaTransactionGetCurrentDmaTransferLength retourne la taille du transfert DMA actuel.
Syntaxe
size_t WdfDmaTransactionGetCurrentDmaTransferLength(
[in] WDFDMATRANSACTION DmaTransaction
);
Paramètres
[in] DmaTransaction
Handle vers un objet de transaction DMA que le pilote a obtenu à partir d’un appel précédent à WdfDmaTransactionCreate.
Valeur de retour
WdfDmaTransactionGetCurrentDmaTransferLength retourne la longueur du transfert DMA actuel.
Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.
Remarques
Si un pilote appelle WdfDmaTransactionGetCurrentDmaTransferLength, il doit le faire avant d’appeler l’une des routines d’achèvement de transfert, telles que WdfDmaTransactionDmaCompleted, pour terminer le transfert DMA actuel. En règle générale, les pilotes appellent WdfDmaTransactionGetCurrentDmaTransferLength à partir d’un EvtInterruptDpc fonction de rappel d’événement.
En règle générale, un pilote appelle WdfDmaTransactionGetCurrentDmaTransferLength pour les appareils qui signalent des longueurs de transfert DMA résiduelles (autrement dit, nombre d’octets de données qui n’ont pas été transférées). En soustrayant la longueur de transfert résiduelle de la valeur qui WdfDmaTransactionGetCurrentDmaTransferLength retournée, le pilote peut déterminer la longueur de transfert réelle. Le pilote appelle ensuite WdfDmaTransactionDmaCompletedWithLength pour indiquer au framework le nombre d’octets que l’appareil a réellement transférés.
Pour plus d’informations sur les transferts DMA complets, consultez Fin d’un transfert DMA.
Exemples
Pour obtenir un exemple de code qui utilise WdfDmaTransactionGetCurrentDmaTransferLength, consultez WdfDmaTransactionDmaCompletedWithLength.
Spécifications
Besoin | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.0 |
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), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |