PDD_CREATESURFACE fungsi panggilan balik (ddrawint.h)
Fungsi panggilan balik CreateD3DBuffer digunakan untuk membuat perintah tingkat driver atau buffer vertex dari deskripsi yang ditentukan.
Sintaks
PDD_CREATESURFACE PddCreatesurface;
DWORD PddCreatesurface(
PDD_CREATESURFACEDATA unnamedParam1
)
{...}
Parameter
unnamedParam1
Menunjuk ke struktur DD_CREATESURFACEDATA yang berisi informasi yang diperlukan untuk membuat buffer.
Nilai kembali
CreateD3DBuffer mengembalikan salah satu kode panggilan balik berikut:
Keterangan
Panggilan balik ini hanya digunakan jika driver mengelola perintah tingkat driver dan buffer vertex.
Secara default, driver tidak diberi tahu ketika permukaan utama dibuat pada Windows 2000 dan versi yang lebih baru. Namun, jika driver mendukung GUID GUID_NTPrivateDriverCaps dalam panggilan DdGetDriverInfo dan bendera DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION diatur dalam anggota dwPrivateCaps dari struktur DD_NTPRIVATEDRIVERCAPS , maka driver akan diberi tahu.
Pitch harus dikembalikan dalam anggota lPitch dari struktur DD_SURFACE_GLOBAL dan DDSURFACEDESC . Untuk memori linier, driver harus mengatur dwBlockSizeX ke ukuran, dalam byte, dari wilayah memori dan mengatur dwBlockSizeY ke 1. Keduanya adalah anggota struktur DD_SURFACE_GLOBAL.
Panggilan ini memiliki prototipe yang sama dengan DdCreateSurface. Panggilan balik CreateD3DBuffer digunakan sebagai gantinya ketika permukaan yang dimaksud memiliki bendera DDSCAPS_EXECUTEBUFFER yang diatur dalam anggota ddsCaps dari struktur DD_SURFACE_LOCAL . 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 untuk bendera berikut:
Bendera | Makna |
---|---|
DDSCAPS2_COMMANDBUFFER | Driver harus mengalokasikan buffer perintah. |
DDSCAPS2_VERTEXBUFFER | Driver harus mengalokasikan buffer vertex eksplisit. |
Atau, driver dapat meminta DirectDraw mengalokasikan buffer dengan mengembalikan salah satu nilai berikut dalam fpVidMem:
Nilai | Makna |
---|---|
DDHAL_PLEASEALLOC_BLOCKSIZE | DirectDraw harus mengalokasikan memori buffer dari memori di luar layar. |
DDHAL_PLEASEALLOC_USERMEM | DirectDraw harus mengalokasikan memori buffer dari memori pengguna. Driver juga harus mengembalikan ukuran, dalam byte, dari wilayah memori di dwUserMemSize. |
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | ddrawint.h (termasuk Winddi.h) |