DD_D3DBUFCALLBACKS-Struktur (ddrawint.h)
Die DD_D3DBUFCALLBACKS-Struktur wird nur von Treibern verwendet, die die Zuordnung von Befehls- und Vertexpuffern auf Treiberebene implementieren.
Syntax
typedef struct _DD_D3DBUFCALLBACKS {
DWORD dwSize;
DWORD dwFlags;
PDD_CANCREATESURFACE CanCreateD3DBuffer;
PDD_CREATESURFACE CreateD3DBuffer;
PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer;
PDD_SURFCB_LOCK LockD3DBuffer;
PDD_SURFCB_UNLOCK UnlockD3DBuffer;
} DD_D3DBUFCALLBACKS, *PDD_D3DBUFCALLBACKS;
Member
dwSize
Gibt die Größe dieser DD_D3DBUFCALLBACKS-Struktur in Byte an.
dwFlags
Reserviert.
CanCreateD3DBuffer
Verweist auf den CanCreateD3DBuffer-Rückruf des Treibers.
CreateD3DBuffer
Verweist auf den CreateD3DBuffer-Rückruf des Treibers.
DestroyD3DBuffer
Verweist auf den DestroyD3DBuffer-Rückruf des Treibers.
LockD3DBuffer
Verweist auf den LockD3DBuffer-Rückruf des Treibers.
UnlockD3DBuffer
Verweist auf den UnlockD3DBuffer-Rückruf des Treibers.
Hinweise
Treiber, die ihre eigenen Befehls- und Vertexpuffer verwalten, müssen eine DD_D3DBUFCALLBACKS-Struktur ausfüllen und den lpD3DBufCallbacks-Member von DD_HALINFO darauf verweisen.
Der Treiber muss auch die Rückruffunktionen unterstützen, die in der DD_D3DBUFCALLBACKS-Struktur gemeldet werden. Diese XxxD3DBuffer-Rückrufe sind jeweils analog zum DdXxxSurface-Rückruf mit ähnlichem Namen; sie verfügen über die gleichen Prototypen und werden mit den gleichen Eingabeparametern aufgerufen. Diese neuen Rückrufe werden nur aufgerufen, wenn auf der betreffenden Oberfläche das flag DDSCAPS_EXECUTEBUFFER in den Oberflächenkappen 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 überprüft, die an CanCreateD3DBuffer und CreateD3DBuffer übergeben wird, auf die folgenden Flags:
-
DDSCAPS_VERTEXBUFFER
Gibt an, dass der Treiber einen expliziten Vertexpuffer zuordnen soll.
-
DDSCAPS_COMMANDBUFFER
Gibt an, dass der Treiber einen Befehlspuffer zuordnen soll.
-
Das Fehlen dieser beiden Flags
Gibt an, dass der Treiber einen impliziten Vertexpuffer zuordnen soll.
Anforderungen
Kopfzeile | ddrawint.h (einschließlich Winddi.h) |