WdfDmaTransactionRelease, fonction (wdfdmatransaction.h)
[S’applique à KMDF uniquement]
La méthode WdfDmaTransactionRelease met fin à une transaction DMA spécifiée sans supprimer l’objet de transaction DMA associé.
Syntaxe
NTSTATUS WdfDmaTransactionRelease(
[in] WDFDMATRANSACTION DmaTransaction
);
Paramètres
[in] DmaTransaction
Handle pour un objet de transaction DMA que le pilote a obtenu à partir d’un appel précédent à WdfDmaTransactionCreate.
Valeur retournée
WdfDmaTransactionRelease retourne STATUS_SUCCESS si l’opération réussit. Sinon, la méthode peut retourner la valeur suivante :
Code de retour | Description |
---|---|
|
Le pilote a déjà libéré ou supprimé l’objet transaction que le paramètre DmaTransaction a spécifié. |
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
La méthode WdfDmaTransactionRelease vide les mémoires tampons de transfert et libère toutes les ressources système associées à la transaction DMA. L’objet transaction n’est pas supprimé et peut être réutilisé. Pour plus d’informations sur la réutilisation d’objets de transaction, consultez Réutilisation d’objets de transaction DMA.
Si WdfDmaTransactionInitializeXxx renvoie la réussite, mais que WdfDmaTransactionExecute retourne une valeur d’erreur, votre pilote doit appeler WdfDmaTransactionRelease.
Exemples
L’exemple de code suivant met fin à la transaction DMA que représente l’objet de transaction DMA spécifié, mais ne supprime pas l’objet de transaction DMA.
NTSTATUS status;
status = WdfDmaTransactionRelease(dmaTransaction);
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
En-tête | wdfdmatransaction.h (inclure Wdf.h) |
Bibliothèque | Wdf01000.sys (consultez Gestion des versions de la bibliothèque d’infrastructure).) |
IRQL | <=DISPATCH_LEVEL |
Règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |