Partager via


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

DD_MAPMEMORYDATA

DdLock

DdUnlock

EngDeviceIoControl

IOCTL_VIDEO_MAP_VIDEO_MEMORY

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNMAP_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY