PEXECUTE_DMA fonction de rappel (video.h)
HwVidExecuteDma est une routine de rappel implémentée par un pilote miniport qui est chargée de récupérer les paires d’adresses physiques/longueur à partir d’une liste de points/regroupements et de programmer le matériel pour démarrer le transfert DMA réel.
Syntaxe
PEXECUTE_DMA PexecuteDma;
void PexecuteDma(
PVOID HwDeviceExtension,
PVP_DMA_ADAPTER VpDmaAdapter,
PVP_SCATTER_GATHER_LIST SGList,
PVOID Context
)
{...}
Paramètres
HwDeviceExtension
Pointeur vers la zone de stockage par adaptateur du pilote miniport. Pour plus d’informations, consultez Extensions d’appareil.
VpDmaAdapter
Pointeur vers la structure VP_DMA_ADAPTER qui représente l’adaptateur master bus. Cette structure a été retournée par un appel à VideoPortGetDmaAdapter.
SGList
Pointeur vers une structure VP_SCATTER_GATHER_LIST . Le pilote de port vidéo remplit les informations de cette structure et transmet cette structure au pilote miniport.
Context
Pointeur vers le contexte déterminé par le pilote transmis à partir de VideoPortStartDma.
Valeur de retour
None
Remarques
Cette fonction est disponible dans Windows XP et versions ultérieures.
Si le pilote miniport signale que l’appareil ne prend pas en charge les points/regroupements, il n’y aura qu’un seul élément dans la liste de points/regroupements passé à cette routine. La liste de points/regroupements est valide jusqu’à ce que VideoPortCompleteDma soit appelé.
La dernière tâche effectuée par la fonction VideoPortStartDma du pilote de port vidéo consiste à appeler la routine de rappel HwVidExecuteDma du pilote miniport. C’est ce rappel qui effectue en fait l’opération de transfert DMA.
HwVidExecuteDma doit être en mémoire non paginée et ne doit accéder à aucun code ou données paginables.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | video.h (inclure Video.h) |