Remarque
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 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 vers un objet de transaction DMA que le pilote a obtenu à partir d’un appel précédent à WdfDmaTransactionCreate.
Valeur de retour
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à publié ou supprimé l’objet transactionnel spécifié par le paramètre DmaTransaction. |
Cette méthode peut également retourner d’autres valeurs NTSTATUS .
Une vérification de bogue 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 de transaction n’est pas supprimé et peut être réutilisé. Pour plus d’informations sur la réutilisation des objets de transaction, consultez réutilisation des objets de transaction DMA.
Si WdfDmaTransactionInitializeXxx retourne la réussite, mais 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);
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) |