Partager via


STRUCTURE FILEMUIINFO (winnls.h)

Contient des informations sur un fichier, liées à son utilisation avec MUI. La plupart de ces données sont stockées dans les données de configuration des ressources pour le fichier particulier. Lorsque cette structure est récupérée par GetFileMUIInfo, tous les champs ne sont pas nécessairement renseignés. Les champs utilisés dépendent des indicateurs que l’application a transmis à cette fonction.

Note Vos applications MUI peuvent utiliser les macros MUI pour accéder à cette structure.
 

Syntaxe

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;

Membres

dwSize

Taille de la structure, y compris la mémoire tampon, qui peut être étendue au-delà des 8 octets déclarés. La valeur minimale autorisée est sizeof(FILEMUIINFO).

dwVersion

Version de la structure. La version actuelle est 0x001.

dwFileType

Type de fichier. Les valeurs possibles sont les suivantes :

  • MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL. Le fichier d’entrée ne contient pas de données de configuration des ressources. Ce type de fichier est typique pour les fichiers exécutables plus anciens. Si ce type de fichier est spécifié, les autres types de fichiers ne fournissent pas d’informations utiles.
  • MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN. Le fichier d’entrée est un fichier LN.
  • MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI. Le fichier d’entrée est un fichier de ressources spécifique à la langue.

pChecksum[16]

Pointeur vers une somme de contrôle 128 bits pour le fichier, s’il s’agit d’un fichier LN ou d’un fichier de ressources spécifique à la langue.

pServiceChecksum[16]

Pointeur vers une somme de contrôle 128 bits pour le fichier, utilisée pour la maintenance.

dwLanguageNameOffset

Décalage, en octets, du début de la structure vers la chaîne de nom de langue d’un fichier de ressources spécifique à la langue, ou vers la chaîne de nom de langue de secours ultime pour un fichier LN.

dwTypeIDMainSize

Taille du tableau pour lequel le décalage est indiqué par dwTypeIDMainOffset. La taille correspond également au nombre de chaînes dans le tableau à plusieurs chaînes indiqué par dwTypeNameMainOffset.

dwTypeIDMainOffset

Décalage, en octets, du début de la structure vers un tableau DWORD énumérant les types de ressources contenus dans le fichier LN.

dwTypeNameMainOffset

Décaler, en octets, du début de la structure vers une série de chaînes terminées par null dans un tableau à plusieurs chaînes énumérant les noms de ressources contenus dans le fichier LN.

dwTypeIDMUISize

Taille du tableau avec le décalage indiqué par dwTypeIDMUIOffset. La taille correspond également au nombre de chaînes dans la série de chaînes indiquées par dwTypeNameMUIOffset.

dwTypeIDMUIOffset

Décalage, en octets, du début de la structure vers un tableau DWORD énumérant les types de ressources contenus dans le fichier LN.

dwTypeNameMUIOffset

Décalage, en octets, du début de la structure vers un tableau à plusieurs chaînes énumérant les noms de ressources contenus dans le fichier LN.

abBuffer[8]

Reste de la mémoire allouée pour cette structure. Consultez la section Remarques pour une utilisation correcte de ce tableau.

Remarques

Tous les décalages proviennent de la base de la structure. Un décalage de 0 indique que les données ne sont pas disponibles.

Voici un exemple montrant comment accéder aux données de la position dans la structure décrite par un décalage. Cet exemple accède à la chaîne de nom de langue avec la position définie par dwLanguageNameOffset.

PFILEMUIINFO pFileMUIInfo = NULL;

Allocate_pFileMUIInfo_AndPassTo_GetFileMUIInfo(&pFileMUIInfo);

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

Cet exemple utilise deux casts de réinterprétation. Tout d’abord, le code est converti en BYTE* afin que l’arithmétique du pointeur pour le décalage soit effectué en octets. Ensuite, le code caste le pointeur résultant vers le type souhaité.

Vous pouvez également écrire le code comme indiqué ci-dessous. L’effet est le même ; le choix est strictement de style.

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# Signature

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête winnls.h (inclure Windows.h)

Voir aussi

GetFileMUIInfo

Interface utilisateur multilingue

Macros d’interface utilisateur multilingues

Structures d’interface utilisateur multilingues