Share via


PDD_MAPMEMORY Rückruffunktion (ddrawint.h)

Die DdMapMemory-Rückruffunktion ordnet anwendungsveränderbare Teile des Framepuffers dem Benutzermodus-Adressraum des angegebenen Prozesses zu oder hebt den Speicher auf.

Syntax

PDD_MAPMEMORY PddMapmemory;

DWORD PddMapmemory(
  PDD_MAPMEMORYDATA unnamedParam1
)
{...}

Parameter

unnamedParam1

Verweist auf eine DD_MAPMEMORYDATA-Struktur , die Details für die Speicherzuordnung oder den Vorgang zum Aufheben der Zuordnung enthält.

Rückgabewert

DdMapMemory gibt einen der folgenden Rückrufcodes zurück:

Hinweise

DdMapMemory wird aufgerufen, um die Speicherzuordnung vor dem ersten Aufruf von DdLock durchzuführen. Das vom Treiber im fpProcess-Member der DD_MAPMEMORYDATA-Struktur bei lpMapMemory zurückgegebene Handle wird an jeden DdLock-Aufruf des Treibers übergeben.

DdMapMemory wird auch aufgerufen, um den Speicher nach dem letzten DdUnlock-Aufruf aufzuheben.

Um Treiberabstürzen zu verhindern, darf der Treiber keinen Teil des Framepuffers zuordnen, der nicht von einer Anwendung geändert werden darf.

Der Anzeigetreiber muss den Video-Miniporttreiber aufrufen, um die Speicherzuordnung durchzuführen oder die Belegung aufzuheben. Um eine synchrone Anforderung an den Videominiporttreiber zum Zuordnen des Arbeitsspeichers zu senden, ruft der Anzeigetreiber die GDI-Funktion EngDeviceIoControl mit IOCTL_VIDEO_SHARE_VIDEO_MEMORY oder IOCTL_VIDEO_MAP_VIDEO_MEMORY auf. Der Anzeigetreiber sendet IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY oder IOCTL_VIDEO_UNMAP_VIDEO_MEMORY an den Videominiporttreiber, um die Zuordnung des Arbeitsspeichers aufzuheben. Weitere Informationen finden Sie unter Kommunizieren von IOCTLs mit dem Video-Miniporttreiber.

DdMapMemory kann nur mit einem deaktivierten PDEV aufgerufen werden, um die Zuordnung des Arbeitsspeichers aufzuheben. Ein PDEV wird durch Aufrufen der DrvAssertMode-Funktion des Anzeigetreibers deaktiviert oder aktiviert. Weitere Informationen finden Sie unter Verwalten von PDEVs .

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile ddrawint.h (include Winddi.h)

Weitere Informationen

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