Metode IDirectDraw7::EnumSurfaces (ddraw.h)
Menghitung semua permukaan yang ada atau mungkin yang memenuhi deskripsi permukaan yang ditentukan.
Sintaks
HRESULT EnumSurfaces(
[in] DWORD unnamedParam1,
[in] LPDDSURFACEDESC2 unnamedParam2,
[in] LPVOID unnamedParam3,
[in] LPDDENUMSURFACESCALLBACK7 unnamedParam4
);
Parameter
[in] unnamedParam1
Kombinasi satu bendera jenis pencarian dan satu bendera yang cocok. Bendera jenis pencarian menentukan bagaimana metode mencari permukaan yang cocok; Anda dapat mencari permukaan yang dapat dibuat menggunakan deskripsi dalam parameter lpDDSD2 atau untuk permukaan yang ada yang sudah cocok dengan deskripsi tersebut. Bendera yang cocok menentukan apakah metode menghitung semua permukaan, hanya yang cocok, atau hanya yang tidak cocok dengan deskripsi dalam parameter lpDDSD2 .
Bendera jenis pencarian
DDENUMSURFACES_CANBECREATED
Menghitung permukaan pertama yang dapat dibuat dan memenuhi kriteria pencarian. Bendera ini hanya dapat digunakan dengan bendera DDENUMSURFACES_MATCH.
DDENUMSURFACES_DOESEXIST
Menghitung permukaan yang sudah ada yang memenuhi kriteria pencarian.
Bendera yang cocok
DDENUMSURFACES_ALL
Menghitung semua permukaan yang memenuhi kriteria pencarian. Bendera ini hanya dapat digunakan dengan bendera jenis pencarian DDENUMSURFACES_DOESEXIST.
DDENUMSURFACES_MATCH
Mencari permukaan apa pun yang cocok dengan deskripsi permukaan.
DDENUMSURFACES_NOMATCH
Mencari permukaan apa pun yang tidak cocok dengan deskripsi permukaan.
[in] unnamedParam2
Alamat struktur DDSURFACEDESC2 yang menentukan permukaan yang menarik. Parameter ini dapat berupa NULL jika dwFlags menyertakan bendera DDENUMSURFACES_ALL.
[in] unnamedParam3
Alamat struktur yang ditentukan aplikasi untuk diteruskan ke setiap anggota enumerasi.
[in] unnamedParam4
Alamat fungsi EnumSurfacesCallback7 yang dipanggil prosedur enumerasi setiap kali kecocokan ditemukan.
Nilai kembali
Jika metode berhasil, nilai yang dikembalikan DD_OK.
Jika gagal, metode dapat mengembalikan salah satu nilai kesalahan berikut:
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
Keterangan
Jika bendera DDENUMSURFACES_CANBECREATED diatur, metode ini mencoba membuat permukaan yang memenuhi kriteria pencarian untuk sementara waktu.
Saat Anda menggunakan bendera DDENUMSURFACES_DOESEXIST, jumlah referensi permukaan enumerasi bertambah—jika Anda tidak akan menggunakan permukaan, pastikan untuk menggunakan IDirectDrawSurface7::Release untuk merilisnya setelah setiap enumerasi. Jika Anda akan menggunakan permukaan, lepaskan ketika tidak lagi diperlukan.
Metode ini berbeda dari rekan-rekannya dalam versi antarmuka sebelumnya karena menerima penunjuk ke fungsi EnumSurfacesCallback7 , daripada fungsi EnumSurfacesCallback atau EnumSurfacesCallback2 .
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | ddraw.h |
Pustaka | Ddraw.lib |
DLL | Ddraw.dll |