Fungsi GetFileMUIInfo (winnls.h)
Mengambil informasi terkait sumber daya tentang file.
Sintaks
BOOL GetFileMUIInfo(
[in] DWORD dwFlags,
[in] PCWSTR pcwszFilePath,
[in, out, optional] PFILEMUIINFO pFileMUIInfo,
[in, out] DWORD *pcbFileMUIInfo
);
Parameter
[in] dwFlags
Bendera yang menentukan informasi yang akan diambil. Kombinasi bendera berikut diperbolehkan. Nilai default bendera adalah MUI_QUERY_TYPE | MUI_QUERY_CHECKSUM.
Nilai | Makna |
---|---|
|
Ambil salah satu nilai berikut di anggota dwFileType dari FILEMUIINFO:
|
|
Ambil checksum sumber daya file input di anggota pChecksumFILEMUIINFO. Jika file input tidak memiliki data konfigurasi sumber daya, anggota struktur ini berisi 0. |
|
Ambil bahasa yang terkait dengan file input. Untuk file sumber daya khusus bahasa, bendera ini meminta bahasa terkait. Untuk file LN, bendera ini meminta bahasa sumber daya fallback utama untuk modul, yang dapat berada di file LN atau dalam file sumber daya khusus bahasa terpisah yang dirujuk oleh data konfigurasi sumber daya file LN. Untuk informasi lebih lanjut, lihat bagian Keterangan. |
|
Ambil daftar jenis sumber daya dalam file sumber daya khusus bahasa dan file LN seperti yang ditentukan dalam data konfigurasi sumber daya. Lihat bagian Keterangan untuk cara mengakses informasi ini. |
[in] pcwszFilePath
Penunjuk ke string yang dihentikan null yang menunjukkan jalur ke file. Biasanya file adalah file LN atau file sumber daya khusus bahasa. Jika bukan salah satu dari jenis ini, satu-satunya nilai signifikan yang diambil fungsi adalah MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL. Fungsi hanya mengambil nilai ini jika bendera MUI_QUERY_RESOURCE_TYPES diatur.
[in, out, optional] pFileMUIInfo
Penunjuk ke buffer yang berisi informasi file dalam struktur FILEMUIINFO dan mungkin dalam data mengikuti struktur tersebut. Buffer informasi mungkin harus jauh lebih besar daripada ukuran struktur itu sendiri. Bergantung pada pengaturan bendera, fungsi dapat menyimpan informasi yang cukup besar mengikuti struktur, pada offset yang diambil dalam struktur. Untuk informasi lebih lanjut, lihat bagian Keterangan.
Atau, aplikasi dapat mengatur parameter ini ke NULL jika pcbFileMUIInfo diatur ke 0. Dalam hal ini, fungsi mengambil ukuran yang diperlukan untuk buffer informasi di pcbFileMUIInfo.
[in, out] pcbFileMUIInfo
Penunjuk ke ukuran buffer, dalam byte, untuk informasi file yang ditunjukkan oleh pFileMUIInfo. Setelah berhasil dikembalikan dari fungsi, parameter ini berisi ukuran buffer informasi file yang diambil dan struktur FILEMUIINFO yang berisinya.
Atau, aplikasi dapat mengatur parameter ini ke 0 jika mengatur NULL di pFileMUIInfo. Dalam hal ini, fungsi mengambil ukuran buffer informasi file yang diperlukan dalam pcbFileMUIInfo. Untuk mengalokasikan jumlah memori yang benar, nilai ini harus ditambahkan ke ukuran struktur FILEMUIINFO itu sendiri.
Nilai kembali
Mengembalikan TRUE jika berhasil atau FALSE sebaliknya. Untuk mendapatkan informasi kesalahan yang diperluas, aplikasi dapat memanggil GetLastError.
Keterangan
Untuk bendera MUI_QUERY_LANGUAGE_NAME, fungsi ini mengambil offset, dalam byte, dari awal FILEMUIINFO di anggota dwLanguageNameOffset .
Berikut ini adalah kode sampel yang mengakses nama bahasa yang terkait dengan file input:
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwLanguageNameOffset);
Untuk bendera MUI_QUERY_RESOURCE_TYPES, fungsi ini mengambil informasi file sumber daya khusus bahasa di anggota FILEMUIINFO berikut:
- Anggota dwTypeIDMUIOffset berisi offset ke array pengidentifikasi sumber daya yang terkandung dalam file sumber daya khusus bahasa.
- Anggota dwTypeIDMUISize berisi ukuran array pengidentifikasi sumber daya untuk file sumber daya khusus bahasa.
- Anggota dwTypeNameMUIOffset berisi offset ke array nama sumber daya yang terkandung dalam file sumber daya khusus bahasa.
- Anggota dwTypeIDMainOffset berisi offset ke array pengidentifikasi sumber daya yang terkandung dalam file LN.
- Anggota dwTypeIDMainSize berisi ukuran array pengidentifikasi sumber daya untuk file LN.
- Anggota dwTypeNameMainOffset berisi offset ke array nama sumber daya yang terkandung dalam file.
DWORD *pdwTypeID = reinterpret_cast<DWORD *>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwTypeIDMainOffset);
LPWSTR lpszNames = reinterpret_cast<LPWSTR>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwTypeNameMainOffset);
Pendekatan lain adalah menulis hal berikut alih-alih kode yang ditunjukkan dalam sampel. Efeknya sama dan pilihannya benar-benar salah satu gaya.
DWORD ix = pFileMUIInfo->dwLanguageNameOffset -
offsetof(struct _FILEMUIINFO, abBuffer);
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(&(pFileMUIInfo->abBuffer[ix]));
Tanda Tangan C#
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetFileMUIInfo(
System.UInt32 dwFlags,
System.String pcwszFilePath,
ref FILEMUIINFO pFileMUIInfo,
ref System.UInt32 pcbFileMUIInfo
);
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winnls.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Lihat juga
Antarmuka Pengguna Multibahasa