PDD_MAPMEMORY fonction de rappel (ddrawint.h)
La fonction de rappel DdMapMemory mappe les parties modifiables de l’application de la mémoire tampon de trame dans l’espace d’adressage en mode utilisateur du processus spécifié, ou annule le mappage de la mémoire.
Syntaxe
PDD_MAPMEMORY PddMapmemory;
DWORD PddMapmemory(
PDD_MAPMEMORYDATA unnamedParam1
)
{...}
Paramètres
unnamedParam1
Pointe vers une structure DD_MAPMEMORYDATA qui contient les détails de l’opération de mappage ou de désappapplage de mémoire.
Valeur retournée
DdMapMemory retourne l’un des codes de rappel suivants :
Remarques
DdMapMemory est appelé pour effectuer un mappage de mémoire avant le premier appel à DdLock. Le handle retourné par le pilote dans le membre fpProcess de la structure DD_MAPMEMORYDATA à lpMapMemory est passé à chaque appel DdLock effectué sur le pilote.
DdMapMemory est également appelé pour annuler le mappage de la mémoire après le dernier appel DdUnlock .
Pour éviter les incidents du pilote, le pilote ne doit mapper aucune partie de la mémoire tampon de trame qui ne doit pas être modifiée par une application.
Le pilote d’affichage doit appeler le pilote de miniport vidéo pour effectuer le mappage de mémoire ou annuler le mappage. Pour envoyer une requête synchrone au pilote de miniport vidéo afin de mapper la mémoire, le pilote d’affichage appelle la fonction EngDeviceIoControl GDI avec IOCTL_VIDEO_SHARE_VIDEO_MEMORY ou IOCTL_VIDEO_MAP_VIDEO_MEMORY. Le pilote d’affichage envoie IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY ou IOCTL_VIDEO_UNMAP_VIDEO_MEMORY au pilote de miniport vidéo pour annuler le mappage de la mémoire. Pour plus d’informations, consultez Communication des IOCTL au pilote miniport vidéo.
DdMapMemory ne peut être appelé qu’avec un PDEV désactivé pour annuler le mappage de la mémoire. Un PDEV est désactivé ou activé en appelant la fonction DrvAssertMode du pilote d’affichage. Pour plus d’informations, consultez Gestion des PDEV .
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ddrawint.h (incluez Winddi.h) |
Voir aussi
IOCTL_VIDEO_SHARE_VIDEO_MEMORY