Bagikan melalui


Fungsi EnumResourceLanguagesExA (libloaderapi.h)

Menghitung sumber daya khusus bahasa, dari jenis dan nama yang ditentukan, yang terkait dengan modul biner tertentu. Memperluas EnumResourceLanguages dengan memungkinkan kontrol lebih besar atas enumerasi.

Sintaksis

BOOL EnumResourceLanguagesExA(
  [in] HMODULE          hModule,
  [in] LPCSTR           lpType,
  [in] LPCSTR           lpName,
  [in] ENUMRESLANGPROCA lpEnumFunc,
  [in] LONG_PTR         lParam,
  [in] DWORD            dwFlags,
  [in] LANGID           LangId
);

Parameter

[in] hModule

Jenis: HMODULE

Handel ke modul untuk dicari. Biasanya ini adalah Portable Executable (file LN) netral bahasa , dan jika bendera RESOURCE_ENUM_MUI diatur, maka file .mui yang sesuai disertakan dalam pencarian. Secara bergantian, ini bisa menjadi handel ke file .mui atau file LN lainnya. Jika ini adalah file .mui tertentu, hanya file tersebut yang dicari untuk sumber daya.

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

[in] lpType

Jenis: LPCTSTR

Jenis sumber daya yang bahasanya sedang dijumlahkan. Sebagai alternatif, daripada pointer, parameter ini dapat MAKEINTRESOURCE(ID), di mana ID adalah nilai bilangan bulat yang mewakili jenis sumber daya yang telah ditentukan sebelumnya. Untuk daftar jenis sumber daya yang telah ditentukan sebelumnya, lihat Jenis Sumber Daya. Untuk informasi selengkapnya

lihat bagian Keterangan di bawah ini.

[in] lpName

Jenis: LPCTSTR

Nama sumber daya yang bahasanya sedang dijumlahkan. Sebagai alternatif, daripada pointer, parameter ini dapat MAKEINTRESOURCE(ID), di mana ID adalah pengidentifikasi bilangan bulat sumber daya. Untuk informasi selengkapnya, lihat bagian Keterangan di bawah ini.

[in] lpEnumFunc

Jenis: ENUMRESLANGPROC

Penunjuk ke fungsi panggilan balik yang akan dipanggil untuk setiap bahasa sumber daya enumerasi. Untuk informasi selengkapnya, lihatEnumResLangProcA .

[in] lParam

Jenis: LONG_PTR

Nilai yang ditentukan aplikasi diteruskan ke fungsi panggilan balik. Parameter ini dapat digunakan dalam pemeriksaan kesalahan.

[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 sumber daya khusus bahasa dalam file .mui yang terkait dengan file LN yang ditentukan oleh hModule. Secara bergantian, jika LangId bukan nol, satu-satunya file .mui yang dicari adalah yang cocok denganLangId yang ditentukan. 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_LN, meskipun nama bendera. Lihat bagian Keterangan di bawah ini untuk urutan pencarian.
RESOURCE_ENUM_LN
0x0001
Mencari file yang ditentukan oleh hModule, terlepas dari apakah file tersebut adalah file LN, jenis file LN lain, atau file .mui.
RESOURCE_ENUM_MUI_SYSTEM
0x0004
Membatasi pencarian file .mui ke bahasa MUI yang diinstal sistem.
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.

[in] LangId

Jenis: LANGID

Bahasa pelokalan yang digunakan untuk memfilter pencarian dalam file .mui. Parameter ini hanya digunakan ketika bendera RESOURCE_ENUM_MUI diatur dalam dwFlags. Jika nol ditentukan, maka semua file .mui disertakan dalam pencarian. 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 fungsi 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

Jika IS_INTRESOURCE(lpType) TRUE, maka lpType menentukan pengidentifikasi bilangan bulat dari jenis sumber daya yang diberikan. Jika tidak, ini adalah penunjuk ke string yang dihentikan null. Jika karakter pertama string adalah tanda pound (#), maka karakter yang tersisa mewakili angka desimal yang menentukan

pengidentifikasi bilangan bulat dari jenis sumber daya. Misalnya, string "#258" mewakili pengidentifikasi 258.

Demikian pula, jika IS_INTRESOURCE(lpName) TRUE, maka lpName menentukan pengidentifikasi bilangan bulat dari sumber daya yang diberikan. Jika tidak, ini adalah penunjuk ke string yang dihentikan null. Jika karakter pertama string adalah tanda pound (#), maka karakter yang tersisa mewakili angka desimal yang menentukan

pengidentifikasi bilangan bulat sumber daya.

Dimulai dengan Windows Vista, modul biner biasanya merupakan file LN, dan enumerasi juga akan menyertakan sumber daya dari file sumber daya khusus bahasa yang sesuai (file.mui) yang berisi sumber daya bahasa yang dapat dilokalkan.

Untuk setiap sumber daya yang ditemukan, EnumResourceLanguagesEx memanggil fungsi panggilan balik yang ditentukan aplikasi lpEnumFunc, meneruskan ke fungsi panggilan balik pengidentifikasi bahasa (lihat pengidentifikasi bahasa ) dari bahasa yang sumber dayanya ditemukan (serta berbagai parameter lain yang diteruskan ke EnumResourceLanguagesEx).

Pencarian dapat mencakup file LN dan file .mui terkait, atau dapat dibatasi baik untuk satu modul biner dari jenis apa pun, atau ke file .mui yang terkait dengan satu file LN. Selain itu, dengan menentukan file LN untuk parameter hModule dan parameter LangId nonzero, pencarian dapat dibatasi pada file .mui unik yang terkait dengan file dan bahasa LN tersebut.

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

Jika hModule menentukan file LN, dan kedua bendera dipilih, bahasa yang dijumlahkan mencakup semua bahasa yang sumber dayanya berada baik dalam file LN atau dalam file .mui yang terkait dengannya. Jika tidak ada file .mui yang ditemukan, hanya bahasa dari file LN yang dikembalikan.

Jika dwFlags berisi RESOURCE_ENUM_MUI atau NULL dan LangId adalah 0, maka enumerasi pertama-tama mencakup bahasa yang terkait dengan semua file .mui yang diinstal sistem, menggunakan bahasa yang diambil dari EnumUILanguages.. Terakhir, jika bendera RESOURCE_ENUM_LN juga diatur, file yang ditunjuk oleh hModule juga dicari.

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 EnumResourceLanguagesEx 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

EnumResLangProcA

EnumResourceNamesEx

EnumResourceTypesEx

MAKEINTRESOURCE

Referensi

Sumber Daya