Freigeben über


FILEMUIINFO-Struktur (winnls.h)

Enthält Informationen zu einer Datei, die sich auf ihre Verwendung mit MUI beziehen. Die meisten dieser Daten werden in den Ressourcenkonfigurationsdaten für die jeweilige Datei gespeichert. Wenn diese Struktur von GetFileMUIInfo abgerufen wird, werden nicht unbedingt alle Felder ausgefüllt. Die verwendeten Felder hängen von den Flags ab, die die Anwendung an diese Funktion übergeben hat.

Hinweis Ihre MUI-Anwendungen können die MUI-Makros verwenden, um auf diese Struktur zuzugreifen.
 

Syntax

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;

Member

dwSize

Größe der Struktur, einschließlich des Puffers, der über die deklarierten 8 Bytes hinaus erweitert werden kann. Der zulässige Mindestwert ist sizeof(FILEMUIINFO).

dwVersion

Version der -Struktur. Die aktuelle Version ist 0x001.

dwFileType

Der Dateityp. Mögliche Werte:

  • MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL. Die Eingabedatei enthält keine Ressourcenkonfigurationsdaten. Dieser Dateityp ist typisch für ältere ausführbare Dateien. Wenn dieser Dateityp angegeben wird, bieten die anderen Dateitypen keine nützlichen Informationen.
  • MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN. Die Eingabedatei ist eine LN-Datei.
  • MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI. Die Eingabedatei ist eine sprachspezifische Ressourcendatei.

pChecksum[16]

Zeiger auf eine 128-Bit-Prüfsumme für die Datei, wenn es sich entweder um eine LN-Datei oder eine sprachspezifische Ressourcendatei handelt.

pServiceChecksum[16]

Zeiger auf eine 128-Bit-Prüfsumme für die Datei, die für die Wartung verwendet wird.

dwLanguageNameOffset

Offset in Byte vom Anfang der Struktur zur Sprachnamenzeichenfolge für eine sprachspezifische Ressourcendatei oder zur endgültigen Fallback-Sprachnamenzeichenfolge für eine LN-Datei.

dwTypeIDMainSize

Größe des Arrays, für das der Offset durch dwTypeIDMainOffset angegeben wird. Die Größe entspricht auch der Anzahl der Zeichenfolgen im Array mit mehreren Zeichenfolgen, das durch dwTypeNameMainOffset angegeben wird.

dwTypeIDMainOffset

Offset in Bytes vom Anfang der Struktur zu einem DWORD-Array, das die in der LN-Datei enthaltenen Ressourcentypen aufzählt.

dwTypeNameMainOffset

Offset in Byte vom Anfang der Struktur zu einer Reihe von NULL-beendeten Zeichenfolgen in einem Array mit mehreren Zeichenfolgen, das die in der LN-Datei enthaltenen Ressourcennamen aufzählt.

dwTypeIDMUISize

Größe des Arrays mit dem durch dwTypeIDMUIOffset angegebenen Offset. Die Größe entspricht auch der Anzahl der Zeichenfolgen in der Reihe von Zeichenfolgen, die durch dwTypeNameMUIOffset angegeben werden.

dwTypeIDMUIOffset

Offset in Bytes vom Anfang der Struktur zu einem DWORD-Array, das die in der LN-Datei enthaltenen Ressourcentypen aufzählt.

dwTypeNameMUIOffset

Offset in Bytes vom Anfang der Struktur zu einem Array mit mehreren Zeichenfolgen, das die in der LN-Datei enthaltenen Ressourcennamen aufzählt.

abBuffer[8]

Rest des zugeordneten Arbeitsspeichers für diese Struktur. Informationen zur korrekten Verwendung dieses Arrays finden Sie im Abschnitt Hinweise.

Hinweise

Alle Offsets stammen von der Basis der -Struktur. Ein Offset von 0 gibt an, dass die Daten nicht verfügbar sind.

Im Folgenden finden Sie ein Beispiel für den Zugriff auf Daten für die Position in der Struktur, die durch einen Offset beschrieben wird. In diesem Beispiel wird auf die Sprachnamenzeichenfolge mit der durch dwLanguageNameOffset definierten Position zugegriffen.

PFILEMUIINFO pFileMUIInfo = NULL;

Allocate_pFileMUIInfo_AndPassTo_GetFileMUIInfo(&pFileMUIInfo);

LPWSTR lpszLang = reinterpret_cast<LPWSTR>(reinterpret_cast<BYTE*>(pFileMUIInfo) + pFileMUIInfo->dwLanguageNameOffset);

In diesem Beispiel werden zwei neu interpretierte Umwandlungen verwendet. Zuerst wandelt der Code in BYTE* um, sodass die Zeigerarithmetik für den Offset in Byte erfolgt. Anschließend wandelt der Code den resultierenden Zeiger auf den gewünschten Typ um.

Alternativ kann der Code wie unten dargestellt geschrieben werden. Der Effekt ist identisch; die Wahl ist streng stil.

PFILEMUIINFO pFileMUIInfo = NULL;

Allocate_pFileMUIInfo_AndPassTo_GetFileMUIInfo(&pFileMUIInfo);

DWORD ix = pFileMUIInfo->dwLanguageNameOffset - offsetof(struct _FILEMUIINFO, abBuffer);
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(&(pFileMUIInfo->abBuffer[ix]));

C#-Signatur

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];
        }

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Kopfzeile winnls.h (windows.h einschließen)

Weitere Informationen

GetFileMUIInfo

Multilingual User Interface

Mehrsprachige Benutzeroberflächenmakros

Mehrsprachige Benutzeroberflächenstrukturen