struktur DD_D3DBUFCALLBACKS (ddrawint.h)
Struktur DD_D3DBUFCALLBACKS hanya digunakan oleh driver yang menerapkan alokasi tingkat driver dari buffer perintah dan vertex.
Sintaks
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;
Anggota
dwSize
Menentukan ukuran dalam byte dari struktur DD_D3DBUFCALLBACKS ini.
dwFlags
Dicadangkan.
CanCreateD3DBuffer
Menunjuk ke panggilan balik CanCreateD3DBuffer driver.
CreateD3DBuffer
Menunjuk ke panggilan balik CreateD3DBuffer driver.
DestroyD3DBuffer
Menunjuk ke panggilan balik DestroyD3DBuffer driver.
LockD3DBuffer
Menunjuk ke panggilan balik LockD3DBuffer driver.
UnlockD3DBuffer
Menunjuk ke panggilan balik UnlockD3DBuffer driver.
Keterangan
Driver yang mengelola perintah dan buffer vertex mereka sendiri harus mengisi struktur DD_D3DBUFCALLBACKS dan mengarahkan anggota lpD3DBufCallbacksDD_HALINFO ke dalamnya.
Driver juga harus mendukung fungsi panggilan balik yang dilaporkan dalam struktur DD_D3DBUFCALLBACKS. Panggilan balik XxxD3DBuffer ini masing-masing dianalogikan dengan panggilan balik DdXxxSurface dengan nama yang sama; mereka memiliki prototipe yang sama dan dipanggil dengan parameter input yang sama. Panggilan balik baru ini dipanggil hanya ketika permukaan yang dimaksud memiliki bendera DDSCAPS_EXECUTEBUFFER yang diatur di tutup permukaan. Bendera pembuatan buffer DDSCAPS_WRITEONLY, DDSCAPS2_VERTEXBUFFER, dan DDSCAPS2_COMMANDBUFFER.
Driver menentukan jenis buffer yang diminta dengan memeriksa anggota ddsCaps dari struktur DD_SURFACE_LOCAL yang diteruskan ke CanCreateD3DBuffer dan CreateD3DBuffer untuk bendera berikut:
-
DDSCAPS_VERTEXBUFFER
Menunjukkan bahwa driver harus mengalokasikan buffer vertex eksplisit.
-
DDSCAPS_COMMANDBUFFER
Menunjukkan bahwa driver harus mengalokasikan buffer perintah.
-
Tidak adanya kedua bendera ini
Menunjukkan bahwa driver harus mengalokasikan buffer vertex implisit.
Persyaratan
Header | ddrawint.h (termasuk Winddi.h) |