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
IOCTL_VIDEO_SHARE_VIDEO_MEMORY