EVT_WDF_PROGRAM_DMA fonction de rappel (wdfdmatransaction.h)
[S’applique uniquement à KMDF]
La fonction de rappel d’événement EvtProgramDma d’un pilote basé sur l’infrastructure programme un appareil spécifié pour effectuer une opération de transfert DMA.
Syntaxe
EVT_WDF_PROGRAM_DMA EvtWdfProgramDma;
BOOLEAN EvtWdfProgramDma(
[in] WDFDMATRANSACTION Transaction,
[in] WDFDEVICE Device,
[in] WDFCONTEXT Context,
[in] WDF_DMA_DIRECTION Direction,
[in] PSCATTER_GATHER_LIST SgList
)
{...}
Paramètres
[in] Transaction
Handle de l’objet de transaction DMA qui représente la transaction DMA actuelle.
[in] Device
Handle d’un objet d’appareil framework.
[in] Context
Pointeur de contexte que le pilote a spécifié dans un appel précédent à WdfDmaTransactionExecute.
[in] Direction
Valeur de type WDF_DMA_DIRECTION qui spécifie le sens de l’opération de transfert DMA.
[in] SgList
Pointeur vers une structure SCATTER_GATHER_LIST .
Valeur retournée
La fonction de rappel EvtProgramDma doit retourner TRUE si elle démarre correctement l’opération de transfert DMA. Sinon, cette fonction de rappel doit retourner FALSE. Toutefois, l’infrastructure ignore actuellement la valeur de retour.
Remarques
Les pilotes inscrivent une fonction de rappel d’événement EvtProgramDma en appelant WdfDmaTransactionInitializeUsingRequest ou WdfDmaTransactionInitialize.
L’infrastructure appelle la fonction de rappel d’événement EvtProgramDma d’un pilote lorsqu’un transfert DMA est disponible. La fonction de rappel doit programmer le matériel pour démarrer le transfert.
Le pilote ne doit pas manipuler les mémoires tampons de données associées à la transaction tant que WdfDmaTransactionDmaCompleted Xxx n’a pas retourné TRUE.
Pour les transferts de paquets uniques, la liste de points/regroupement vers laquelle pointe le paramètre SgList contient un seul élément.
Pour plus d’informations sur cette fonction de rappel, consultez Programmation de matériel DMA.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
En-tête | wdfdmatransaction.h (inclure Wdf.h) |
IRQL | DISPATCH_LEVEL |