Struktur FILEMUIINFO (winnls.h)
Berisi informasi tentang file, yang terkait dengan penggunaannya dengan MUI. Sebagian besar data ini disimpan dalam data konfigurasi sumber daya untuk file tertentu. Ketika struktur ini diambil oleh GetFileMUIInfo, tidak semua bidang harus diisi. Bidang yang digunakan bergantung pada bendera yang telah diteruskan aplikasi ke fungsi tersebut.
Sintaks
typedef struct _FILEMUIINFO {
DWORD dwSize;
DWORD dwVersion;
DWORD dwFileType;
BYTE pChecksum[16];
BYTE pServiceChecksum[16];
DWORD dwLanguageNameOffset;
DWORD dwTypeIDMainSize;
DWORD dwTypeIDMainOffset;
DWORD dwTypeNameMainOffset;
DWORD dwTypeIDMUISize;
DWORD dwTypeIDMUIOffset;
DWORD dwTypeNameMUIOffset;
BYTE abBuffer[8];
} FILEMUIINFO, *PFILEMUIINFO;
Anggota
dwSize
Ukuran struktur, termasuk buffer, yang dapat diperpanjang melewati 8 byte yang dideklarasikan. Nilai minimum yang diizinkan adalah sizeof(FILEMUIINFO)
.
dwVersion
Versi struktur. Versi saat ini 0x001.
dwFileType
Jenis file. Potensi nilai:
- MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL. File input tidak memiliki data konfigurasi sumber daya. Tipe file ini khas untuk file yang dapat dieksekusi yang lebih lama. Jika tipe file ini ditentukan, tipe file lainnya tidak akan memberikan informasi yang berguna.
- MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN. File input adalah file LN.
- MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI. File input adalah file sumber daya khusus bahasa.
pChecksum[16]
Arahkan ke checksum 128-bit untuk file, jika itu adalah file LN atau file sumber daya khusus bahasa.
pServiceChecksum[16]
Penunjuk ke checksum 128-bit untuk file, digunakan untuk layanan.
dwLanguageNameOffset
Offset, dalam byte, dari awal struktur hingga string nama bahasa untuk file sumber daya khusus bahasa, atau ke string nama bahasa fallback utama untuk file LN.
dwTypeIDMainSize
Ukuran array yang offsetnya ditunjukkan oleh dwTypeIDMainOffset. Ukuran juga sesuai dengan jumlah string dalam array multi-string yang ditunjukkan oleh dwTypeNameMainOffset.
dwTypeIDMainOffset
Offset, dalam byte, dari awal struktur hingga array DWORD yang menghitung jenis sumber daya yang terkandung dalam file LN.
dwTypeNameMainOffset
Offset, dalam byte, dari awal struktur hingga serangkaian string yang dihentikan null dalam array multi-string yang menghitung nama sumber daya yang terkandung dalam file LN.
dwTypeIDMUISize
Ukuran array dengan offset yang ditunjukkan oleh dwTypeIDMUIOffset. Ukurannya juga sesuai dengan jumlah string dalam rangkaian string yang ditunjukkan oleh dwTypeNameMUIOffset.
dwTypeIDMUIOffset
Offset, dalam byte, dari awal struktur hingga array DWORD yang menghitung jenis sumber daya yang terkandung dalam file LN.
dwTypeNameMUIOffset
Offset, dalam byte, dari awal struktur hingga array multi-string yang menghitung nama sumber daya yang terkandung dalam file LN.
abBuffer[8]
Sisa memori yang dialokasikan untuk struktur ini. Lihat bagian Keterangan untuk penggunaan array ini dengan benar.
Keterangan
Semua offset berasal dari dasar struktur. Offset 0 menunjukkan bahwa data tidak tersedia.
Berikut ini adalah contoh yang menunjukkan cara mengakses data untuk posisi dalam struktur yang dijelaskan oleh offset. Contoh ini mengakses string nama bahasa dengan posisi yang ditentukan oleh dwLanguageNameOffset.
PFILEMUIINFO pFileMUIInfo = NULL;
Allocate_pFileMUIInfo_AndPassTo_GetFileMUIInfo(&pFileMUIInfo);
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(reinterpret_cast<BYTE*>(pFileMUIInfo) + pFileMUIInfo->dwLanguageNameOffset);
Contoh ini menggunakan dua transmisi reinterpret. Pertama kode ditransmisikan ke BYTE* sehingga aritmatika penunjuk untuk offset akan dilakukan dalam byte. Kemudian kode melemparkan pointer yang dihasilkan ke jenis yang diinginkan.
Atau, kode dapat ditulis seperti yang ditunjukkan di bawah ini. Efeknya sama; pilihannya benar-benar salah satu gaya.
PFILEMUIINFO pFileMUIInfo = NULL;
Allocate_pFileMUIInfo_AndPassTo_GetFileMUIInfo(&pFileMUIInfo);
DWORD ix = pFileMUIInfo->dwLanguageNameOffset - offsetof(struct _FILEMUIINFO, abBuffer);
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(&(pFileMUIInfo->abBuffer[ix]));
Tanda Tangan C#
unsafe public struct FILEMUIINFO
{
public System.UInt32 dwSize;
public System.UInt32 dwVersion;
public System.UInt32 dwFileType;
public fixed System.Byte pChecksum[16];
public fixed System.Byte pServiceChecksum[16];
public System.UInt32 dwLanguageNameOffset;
public System.UInt32 dwTypeIDMainSize;
public System.UInt32 dwTypeIDMainOffset;
public System.UInt32 dwTypeNameMainOffset;
public System.UInt32 dwTypeIDMUISize;
public System.UInt32 dwTypeIDMUIOffset;
public System.UInt32 dwTypeNameMUIOffset;
public fixed System.Byte abBuffer[8];
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Header | winnls.h (termasuk Windows.h) |
Lihat juga
Antarmuka Pengguna Multibahasa