EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL fonction de rappel (wdfdmatransaction.h)
[S’applique uniquement à KMDF]
La fonction de rappel d’événement EvtDmaTransactionConfigureDmaChannel d’un pilote configure l’adaptateur DMA pour un enabler DMA en mode système.
Syntaxe
EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL EvtWdfDmaTransactionConfigureDmaChannel;
BOOLEAN EvtWdfDmaTransactionConfigureDmaChannel(
[in] WDFDMATRANSACTION DmaTransaction,
[in] WDFDEVICE Device,
[in] PVOID Context,
[in, optional] PMDL Mdl,
[in] size_t Offset,
[in] size_t Length
)
{...}
Paramètres
[in] DmaTransaction
Handle d’un objet de transaction DMA représentant la transaction en cours d’exécution.
[in] Device
Handle de l’objet de périphérique framework que le pilote a spécifié quand il a appelé WdfDmaTransactionCreate.
[in] Context
Pointeur de contexte que le pilote a spécifié dans un appel précédent à WdfDmaTransactionSetChannelConfigurationCallback.
[in, optional] Mdl
Pointeur vers une liste de descripteurs de mémoire unique (MDL) ou une chaîne MDL qui décrit la mémoire tampon associée au transfert en cours, ou NULL si le dernier transfert a été effectué et que l’adaptateur est libéré.
[in] Offset
Décalage d’octet dans la mémoire tampon spécifiée dans le paramètre Mdl où le transfert actuel commence.
[in] Length
Nombre d’octets transférés dans le transfert actuel.
Valeur retournée
La fonction de rappel EvtDmaTransactionConfigureDmaChannel retourne TRUE si elle configure correctement le canal DMA. Si cette fonction de rappel retourne FALSE, l’infrastructure arrête la transaction et n’appelle pas EvtProgramDma.
Remarques
Les pilotes inscrivent une fonction de rappel d’événement EvtDmaTransactionConfigureDmaChannel en appelant WdfDmaTransactionSetChannelConfigurationCallback.
L’infrastructure appelle EvtDmaTransactionConfigureDmaChannel une fois pour chaque transfert DMA de profil système dans la transaction, après avoir alloué le canal de l’adaptateur, mais avant de mapper le transfert et d’appeler EvtProgramDma.
Le pilote peut utiliser le rappel EvtDmaTransactionConfigureDmaChannel pour définir une programmation personnalisée pour l’adaptateur DMA avant de mapper un transfert.
Si le pilote rencontre une erreur lors de la configuration du canal, il peut arrêter le transfert DMA en appelant WdfDmaTransactionDmaCompletedFinal et, si nécessaire, en effectuant la demande. Le pilote doit ensuite retourner FALSE à partir de cette fonction de rappel.
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) |
IRQL | DISPATCH_LEVEL |