estructura DD_D3DBUFCALLBACKS (ddrawint.h)
Los controladores que implementan la asignación de nivel de controlador de los búferes de comandos y vértices usan la estructura DD_D3DBUFCALLBACKS.
Sintaxis
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;
Miembros
dwSize
Especifica el tamaño en bytes de esta estructura de DD_D3DBUFCALLBACKS.
dwFlags
Reservado.
CanCreateD3DBuffer
Apunta a la devolución de llamada CanCreateD3DBuffer del controlador.
CreateD3DBuffer
Apunta a la devolución de llamada CreateD3DBuffer del controlador.
DestroyD3DBuffer
Apunta a la devolución de llamada DestroyD3DBuffer del controlador.
LockD3DBuffer
Apunta a la devolución de llamada LockD3DBuffer del controlador.
UnlockD3DBuffer
Apunta a la devolución de llamada UnlockD3DBuffer del controlador.
Comentarios
Los controladores que administran sus propios búferes de comandos y vértices deben rellenar una estructura de DD_D3DBUFCALLBACKS y apuntar al miembro lpD3DBufCallbacks de DD_HALINFO .
El controlador también debe admitir las funciones de devolución de llamada notificadas en la estructura de DD_D3DBUFCALLBACKS. Estas devoluciones de llamada XxxD3DBuffer son análogas a la devolución de llamada DdXxxSurface de un nombre similar; tienen los mismos prototipos y se llaman con los mismos parámetros de entrada. Solo se llama a estas nuevas devoluciones de llamada cuando la superficie en cuestión tiene la marca DDSCAPS_EXECUTEBUFFER establecida en los límites de superficie. Las marcas de creación del búfer se DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER y DDSCAPS2_COMMANDBUFFER.
El controlador determina el tipo de búfer que se solicita comprobando el miembro ddsCaps de la estructura DD_SURFACE_LOCAL que se pasa a CanCreateD3DBuffer y CreateD3DBuffer para las marcas siguientes:
-
DDSCAPS_VERTEXBUFFER
Indica que el controlador debe asignar un búfer de vértices explícito.
-
DDSCAPS_COMMANDBUFFER
Indica que el controlador debe asignar un búfer de comandos.
-
La ausencia de ambas marcas
Indica que el controlador debe asignar un búfer de vértices implícito.
Requisitos
Encabezado | ddrawint.h (incluya Winddi.h) |