WdfDmaTransactionSetImmediateExecution, fonction (wdfdmatransaction.h)
[S’applique uniquement à KMDF]
La méthode WdfDmaTransactionSetImmediateExecution marque la transaction DMA spécifiée afin que les appels à WdfDmaTransactionExecute et WdfDmaTransactionAllocateResources lancent la transaction immédiatement ou échouent.
Syntaxe
void WdfDmaTransactionSetImmediateExecution(
[in] WDFDMATRANSACTION DmaTransaction,
[in] BOOLEAN UseImmediateExecution
);
Paramètres
[in] DmaTransaction
Handle d’un objet de transaction DMA à marquer pour une exécution immédiate.
[in] UseImmediateExecution
Valeur booléenne qui, si true, indique que la transaction doit s’exécuter immédiatement (ou échouer si les ressources ne sont pas disponibles) et, si la valeur FALSE, indique que la transaction doit être mise en file d’attente pour l’exécution une fois que les ressources DMA sont disponibles.
Valeur de retour
None
Remarques
Avant d’appeler WdfDmaTransactionSetImmediateExecution, le pilote doit initialiser la transaction.
Si le pilote appelle WdfDmaTransactionExecute ou WdfDmaTransactionAllocateResources après avoir appelé WdfDmaTransactionSetImmediateExecution avec UseImmediateExecution défini sur TRUE, et que les ressources nécessaires à la demande ne sont pas disponibles, cette méthode retourne STATUS_INSUFFICIENT_RESOURCES. Si les ressources requises sont disponibles, l’infrastructure les revendique et lance l’appel de manière synchrone.
Une fois que le pilote a marqué une transaction pour une exécution immédiate, la transaction reste marquée comme telle jusqu’à ce que le pilote appelle WdfDmaTransactionRelease ou efface l’indicateur en appelant WdfDmaTransactionSetImmediateExecution avec UseImmediateExecution défini sur FALSE.
WdfDmaTransactionSetImmediateExecution nécessite DMA version 3. Pour sélectionner DMA version 3, définissez le membre WdmDmaVersionOverride de WDF_DMA_ENABLER_CONFIG sur 3.
Si votre pilote appelle cette méthode sur un système d’exploitation antérieur à Windows 8, le vérificateur de l’infrastructure signale une erreur.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 |
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) |