структура DD_D3DBUFCALLBACKS (ddrawint.h)
Структура DD_D3DBUFCALLBACKS используется только драйверами, реализующими выделение уровня драйвера для буферов команд и вершин.
Синтаксис
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;
Члены
dwSize
Задает размер в байтах этой структуры DD_D3DBUFCALLBACKS.
dwFlags
Зарезервировано.
CanCreateD3DBuffer
Указывает на обратный вызов CanCreateD3DBuffer драйвера.
CreateD3DBuffer
Указывает на обратный вызов CreateD3DBuffer драйвера.
DestroyD3DBuffer
Указывает на обратный вызов DestroyD3DBuffer драйвера.
LockD3DBuffer
Указывает на обратный вызов LockD3DBuffer драйвера.
UnlockD3DBuffer
Указывает на обратный вызов UnlockD3DBuffer драйвера.
Комментарии
Драйверы, управляющие собственными буферами команд и вершин, должны заполнить структуру DD_D3DBUFCALLBACKS и указать элемент DD_HALINFO lpD3DBufCallbacks.
Драйвер также должен поддерживать функции обратного вызова, сообщаемые в структуре DD_D3DBUFCALLBACKS. Эти обратные вызовы XxxD3DBuffer аналогичны обратному вызову DdXxxSurface аналогичного имени; они имеют одинаковые прототипы и вызываются с одинаковыми входными параметрами. Эти новые обратные вызовы вызываются только в том случае, если в заданной поверхности установлен флаг DDSCAPS_EXECUTEBUFFER в крышках поверхности. Флаги создания буфера — это DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER и DDSCAPS2_COMMANDBUFFER.
Драйвер определяет тип запрашиваемого буфера, проверив элемент ddsCaps структуры DD_SURFACE_LOCAL , передаваемой в CanCreateD3DBuffer и CreateD3DBuffer , для следующих флагов:
-
DDSCAPS_VERTEXBUFFER
Указывает, что драйвер должен выделить явный буфер вершин.
-
DDSCAPS_COMMANDBUFFER
Указывает, что драйвер должен выделить буфер команд.
-
Отсутствие обоих этих флагов
Указывает, что драйвер должен выделить неявный буфер вершин.
Требования
Верхняя часть | ddrawint.h (включая Winddi.h) |