PDD_CREATESURFACE Rückruffunktion (ddrawint.h)
Die Rückruffunktion CreateD3DBuffer wird verwendet, um einen Befehl auf Treiberebene oder einen Scheitelpunktpuffer der angegebenen Beschreibung zu erstellen.
Syntax
PDD_CREATESURFACE PddCreatesurface;
DWORD PddCreatesurface(
PDD_CREATESURFACEDATA unnamedParam1
)
{...}
Parameter
unnamedParam1
Verweist auf eine DD_CREATESURFACEDATA-Struktur , die die zum Erstellen des Puffers erforderlichen Informationen enthält.
Rückgabewert
CreateD3DBuffer gibt einen der folgenden Rückrufcodes zurück:
Hinweise
Dieser Rückruf wird nur verwendet, wenn der Treiber Befehl und Scheitelpunktpuffer auf Treiberebene verwaltet.
Standardmäßig wird der Treiber nicht benachrichtigt, wenn eine primäre Oberfläche unter Windows 2000 und höheren Versionen erstellt wird. Wenn der Treiber jedoch die GUID_NTPrivateDriverCaps GUID in einem DdGetDriverInfo-Aufruf unterstützt und das DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION-Flag im dwPrivateCaps-Member der DD_NTPRIVATEDRIVERCAPS-Struktur festgelegt ist, wird der Treiber benachrichtigt.
Die Tonhöhe muss im lPitch-Element der DD_SURFACE_GLOBAL - und DDSURFACEDESC-Struktur zurückgegeben werden. Für den linearen Arbeitsspeicher sollte der Treiber dwBlockSizeX auf die Größe (in Bytes) des Speicherbereichs festlegen und dwBlockSizeY auf 1 festlegen. Beide sind Elemente der DD_SURFACE_GLOBAL-Struktur.
Dieser Aufruf verfügt über denselben Prototyp wie DdCreateSurface. Der CreateD3DBuffer-Rückruf wird stattdessen verwendet, wenn auf der betreffenden Oberfläche das DDSCAPS_EXECUTEBUFFER-Flag im ddsCaps-Member der DD_SURFACE_LOCAL-Struktur festgelegt ist. Die Puffererstellungsflags sind DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER und DDSCAPS2_COMMANDBUFFER.
Der Treiber bestimmt den Typ des angeforderten Puffers, indem er den ddsCaps-Member der DD_SURFACE_LOCAL-Struktur auf die folgenden Flags überprüft:
Flag | Bedeutung |
---|---|
DDSCAPS2_COMMANDBUFFER | Der Treiber sollte einen Befehlspuffer zuordnen. |
DDSCAPS2_VERTEXBUFFER | Der Treiber sollte einen expliziten Vertexpuffer zuordnen. |
Alternativ kann der Treiber anfordern, dass DirectDraw den Puffer zuordnen soll, indem er einen der folgenden Werte in fpVidMem zurückgibt:
Wert | Bedeutung |
---|---|
DDHAL_PLEASEALLOC_BLOCKSIZE | DirectDraw sollte den Pufferspeicher aus dem Offscreenspeicher zuordnen. |
DDHAL_PLEASEALLOC_USERMEM | DirectDraw sollte den Pufferspeicher aus dem Benutzerspeicher zuordnen. Der Treiber muss auch die Größe des Arbeitsspeicherbereichs in dwUserMemSize in Bytes zurückgeben. |
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | ddrawint.h (include Winddi.h) |