Partager via


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

Voir aussi

WdfDmaTransactionDmaCompletedFinal

WdfDmaTransactionSetChannelConfigurationCallback