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

Lihat juga

IDirectDraw7