GetFileMUIInfo-Funktion (winnls.h)
Ruft ressourcenbezogene Informationen zu einer Datei ab.
Syntax
BOOL GetFileMUIInfo(
[in] DWORD dwFlags,
[in] PCWSTR pcwszFilePath,
[in, out, optional] PFILEMUIINFO pFileMUIInfo,
[in, out] DWORD *pcbFileMUIInfo
);
Parameter
[in] dwFlags
Flags, die die abzurufenden Informationen angeben. Jede Kombination der folgenden Flags ist zulässig. Der Standardwert der Flags ist MUI_QUERY_TYPE | MUI_QUERY_CHECKSUM.
Wert | Bedeutung |
---|---|
|
Rufen Sie einen der folgenden Werte im dwFileType-Member von FILEMUIINFO ab:
|
|
Rufen Sie die Ressourcenprüfsumme der Eingabedatei im pChecksum-Element von FILEMUIINFO ab. Wenn die Eingabedatei keine Ressourcenkonfigurationsdaten enthält, enthält dieser Member der -Struktur 0. |
|
Rufen Sie die Sprache ab, die der Eingabedatei zugeordnet ist. Für eine sprachspezifische Ressourcendatei fordert dieses Flag die zugeordnete Sprache an. Für eine LN-Datei fordert dieses Flag die Sprache der ultimativen Fallbackressourcen für das Modul an, die sich entweder in der LN-Datei oder in einer separaten sprachspezifischen Ressourcendatei befinden kann, auf die durch die Ressourcenkonfigurationsdaten der LN-Datei verwiesen wird. Weitere Informationen finden Sie im Abschnitt mit Hinweisen. |
|
Ruft Listen von Ressourcentypen in den sprachspezifischen Ressourcendateien und LN-Dateien ab, wie sie in den Ressourcenkonfigurationsdaten angegeben sind. Eine Möglichkeit zum Zugriff auf diese Informationen finden Sie im Abschnitt Hinweise. |
[in] pcwszFilePath
Zeiger auf eine NULL-endende Zeichenfolge, die den Pfad zur Datei angibt. In der Regel ist die Datei entweder eine LN-Datei oder eine sprachspezifische Ressourcendatei. Wenn es sich nicht um einen dieser Typen handelt, ist der einzige signifikante Wert, den die Funktion abruft, MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL. Die Funktion ruft diesen Wert nur ab, wenn das flag MUI_QUERY_RESOURCE_TYPES festgelegt ist.
[in, out, optional] pFileMUIInfo
Zeiger auf einen Puffer, der Dateiinformationen in einer FILEMUIINFO-Struktur und möglicherweise in Daten enthält, die dieser Struktur folgen. Der Informationspuffer muss möglicherweise viel größer sein als die Größe der Struktur selbst. Abhängig von den Flageinstellungen kann die Funktion erhebliche Informationen nach der -Struktur speichern, an Offsets, die in der -Struktur abgerufen werden. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
Alternativ kann die Anwendung diesen Parameter auf NULL festlegen, wenn pcbFileMUIInfo auf 0 festgelegt ist. In diesem Fall ruft die Funktion die erforderliche Größe für den Informationspuffer in pcbFileMUIInfo ab.
[in, out] pcbFileMUIInfo
Zeiger auf die Puffergröße in Bytes für die Dateiinformationen, die durch pFileMUIInfo angegeben werden. Bei erfolgreicher Rückgabe von der Funktion enthält dieser Parameter die Größe des abgerufenen Dateiinformationspuffers und die FILEMUIINFO-Struktur , die ihn enthält.
Alternativ kann die Anwendung diesen Parameter auf 0 festlegen, wenn sie NULL in pFileMUIInfo festlegt. In diesem Fall ruft die Funktion die erforderliche Größe des Dateiinformationspuffers in pcbFileMUIInfo ab. Um die richtige Arbeitsspeichermenge zuzuweisen, sollte dieser Wert der Größe der FILEMUIINFO-Struktur selbst hinzugefügt werden.
Rückgabewert
Gibt TRUE zurück, wenn dies erfolgreich war, oder andernfalls FALSE . Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastError aufrufen.
Hinweise
Für das flag MUI_QUERY_LANGUAGE_NAME ruft diese Funktion einen Offset in Bytes vom Anfang von FILEMUIINFO im dwLanguageNameOffset-Element ab.
Im folgenden Beispielcode wird auf den Sprachnamen zugegriffen, der der Eingabedatei zugeordnet ist:
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwLanguageNameOffset);
Für das MUI_QUERY_RESOURCE_TYPES-Flag ruft diese Funktion sprachspezifische Ressourcendateiinformationen in den folgenden FILEMUIINFO-Membern ab:
- Das dwTypeIDMUIOffset-Element enthält den Offset zu einem Array von Bezeichnern von Ressourcen, die in der sprachspezifischen Ressourcendatei enthalten sind.
- Der dwTypeIDMUISize-Member enthält die Größe des Arrays von Ressourcenbezeichnern für die sprachspezifische Ressourcendatei.
- Das dwTypeNameMUIOffset-Element enthält den Offset zu einem Array von Ressourcennamen, die in der sprachspezifischen Ressourcendatei enthalten sind.
- Das dwTypeIDMainOffset-Element enthält den Offset zu einem Array von Bezeichnern von Ressourcen, die in der LN-Datei enthalten sind.
- Das dwTypeIDMainSize-Element enthält die Größe des Arrays von Ressourcenbezeichnern für die LN-Datei.
- Der dwTypeNameMainOffset-Member enthält den Offset zu einem Array von Namen von Ressourcen, die in der Datei enthalten sind.
DWORD *pdwTypeID = reinterpret_cast<DWORD *>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwTypeIDMainOffset);
LPWSTR lpszNames = reinterpret_cast<LPWSTR>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwTypeNameMainOffset);
Ein anderer Ansatz besteht darin, anstelle des in den Beispielen gezeigten Codes Folgendes zu schreiben. Der Effekt ist der gleiche, und die Wahl ist streng eine der Stile.
DWORD ix = pFileMUIInfo->dwLanguageNameOffset -
offsetof(struct _FILEMUIINFO, abBuffer);
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(&(pFileMUIInfo->abBuffer[ix]));
C#-Signatur
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetFileMUIInfo(
System.UInt32 dwFlags,
System.String pcwszFilePath,
ref FILEMUIINFO pFileMUIInfo,
ref System.UInt32 pcbFileMUIInfo
);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winnls.h (windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |