Bagikan melalui


Fungsi EnumResourceTypesExA (libloaderapi.h)

Menghitung jenis sumber daya yang terkait dengan modul biner tertentu. Pencarian dapat mencakup file Portable Executable (file LN) netral bahasa dan file .mui terkait. Secara bergantian, ini dapat dibatasi pada satu modul biner dari jenis apa pun, atau ke file .mui yang terkait dengan satu file LN. Pencarian juga dapat dibatasi pada satu file .mui terkait yang berisi sumber daya untuk bahasa tertentu.

Untuk setiap jenis sumber daya yang ditemukan, EnumResourceTypesEx memanggil fungsi panggilan balik yang ditentukan aplikasi lpEnumFunc, meneruskan jenis sumber daya yang ditemukannya, serta berbagai parameter lain yang diteruskan ke EnumResourceTypesEx.

Sintaksis

BOOL EnumResourceTypesExA(
  [in, optional] HMODULE          hModule,
  [in]           ENUMRESTYPEPROCA lpEnumFunc,
  [in]           LONG_PTR         lParam,
  [in]           DWORD            dwFlags,
  [in]           LANGID           LangId
);

Parameter

[in, optional] hModule

Jenis: HMODULE

Handel ke modul yang akan dicari. Biasanya ini adalah file LN, dan jika bendera RESOURCE_ENUM_MUI diatur, maka file .mui yang sesuai dapat disertakan dalam pencarian. Secara bergantian, ini bisa menjadi handel ke file .mui atau file LN lainnya.

Jika parameter ini NULL, setara dengan meneruskan handel ke modul yang digunakan untuk membuat proses saat ini.

[in] lpEnumFunc

Jenis: ENUMRESTYPEPROC

Penunjuk ke fungsi panggilan balik yang akan dipanggil untuk setiap jenis sumber daya enumerasi. Untuk informasi selengkapnya, lihat EnumResTypeProc.

[in] lParam

Jenis: LONG_PTR

Nilai yang ditentukan aplikasi diteruskan ke fungsi panggilan balik.

[in] dwFlags

Jenis: DWORD

Jenis file yang akan dicari. Nilai berikut didukung. Perhatikan bahwa jika dwFlags adalah nol, maka bendera RESOURCE_ENUM_LN dan RESOURCE_ENUM_MUI diasumsikan untuk ditentukan.

Nilai Arti
RESOURCE_ENUM_MUI
0x0002
Cari jenis sumber daya di salah satu file .mui yang terkait dengan file yang ditentukan oleh hModule dan dengan preferensi bahasa saat ini, mengikuti strategi Resource Loader biasa (lihat Manajemen Bahasa Antarmuka Pengguna). Sebagai alternatif, jika LangId bukan nol, maka hanya file .mui bahasa seperti yang ditentukan oleh LangId yang akan dicari. Biasanya bendera ini harus digunakan hanya jika hModule mereferensikan file LN. Jika hModule mereferensikan file .mui, maka file tersebut benar-benar dicakup oleh bendera RESOURCE_ENUM_LN, meskipun nama bendera.
RESOURCE_ENUM_LN
0x0001
Hanya mencari file yang ditentukan oleh hModule, terlepas dari apakah file tersebut adalah file LN atau file .mui.
RESOURCE_ENUM_VALIDATE
0x0008
Melakukan validasi ekstra pada bagian sumber daya dan referensinya di header PE saat melakukan enumerasi untuk memastikan bahwa sumber daya diformat dengan benar. Validasi menetapkan batas maksimum 260 karakter untuk setiap jenis yang dijumlahkan.

[in] LangId

Jenis: LANGID

Bahasa yang digunakan untuk memfilter pencarian dalam modul MUI. Parameter ini hanya digunakan ketika bendera RESOURCE_ENUM_MUI diatur dalam dwFlags. Jika nol ditentukan, maka semua file .mui yang cocok dengan preferensi bahasa saat ini disertakan dalam pencarian, mengikuti strategi Resource Loader biasa (lihat Manajemen Bahasa Antarmuka Pengguna). Jika nonzero LangId ditentukan, maka satu-satunya file .mui yang dicari adalah yang cocok dengan LangId yang ditentukan.

Mengembalikan nilai

Jenis: BOOL

Mengembalikan TRUE jika berhasil atau FALSE jika fungsi tidak menemukan sumber daya dari jenis yang ditentukan, atau jika fungsi gagal karena alasan lain. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Komentar

Fungsi EnumResourceTypesEx terus menghitung jenis sumber daya hingga fungsi panggilan balik mengembalikan FALSE atau semua jenis sumber daya telah dijumlahkan.

Jika hModule menentukan file LN, dan kedua bendera dipilih, jenis yang dijumlahkan sesuai dengan sumber daya yang berada di file LN atau dalam file .mui yang terkait dengannya. Jika tidak ada file .mui yang ditemukan, hanya jenis dari file LN yang dikembalikan. Setelah satu file .mui yang sesuai ditemukan, pencarian tidak akan dilanjutkan lebih lanjut, karena semua file .mui yang sesuai dengan satu file LN memiliki jenis sumber daya yang sama.

Jika dwFlags dan LangId keduanya nol, maka fungsi tersebut bereaksi seperti EnumResourceTypes.

Jika LangId bukan nol, maka hanya file .mui yang sesuai dengan pengidentifikasi bahasa tersebut yang akan dicari. Fallback bahasa tidak akan digunakan. Jika file .mui untuk bahasa tersebut tidak ada, enumerasi akan kosong (kecuali sumber daya untuk bahasa tersebut ada dalam file LN, dan bendera diatur untuk mencari file LN juga).

Enumerasi tidak pernah menyertakan duplikat: jika sumber daya untuk bahasa tertentu terkandung dalam file LN dan dalam file .mui, jenisnya hanya akan dijumlahkan sekali.

Contoh

Misalnya, lihat Membuat Daftar Sumber Daya.

Nota

Header libloaderapi.h mendefinisikan EnumResourceTypesEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Platform Target Windows
Header libloaderapi.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Konseptual

EnumResTypeProc

EnumResourceLanguagesEx

EnumResourceNamesEx

EnumResourceTypes

Referensi

Sumber Daya