GetFileMUIInfo, fonction (winnls.h)
Récupère les informations relatives aux ressources sur un fichier.
Syntaxe
BOOL GetFileMUIInfo(
[in] DWORD dwFlags,
[in] PCWSTR pcwszFilePath,
[in, out, optional] PFILEMUIINFO pFileMUIInfo,
[in, out] DWORD *pcbFileMUIInfo
);
Paramètres
[in] dwFlags
Indicateurs spécifiant les informations à récupérer. Toute combinaison des indicateurs suivants est autorisée. La valeur par défaut des indicateurs est MUI_QUERY_TYPE | MUI_QUERY_CHECKSUM.
Valeur | Signification |
---|---|
|
Récupérez l’une des valeurs suivantes dans le membre dwFileType de FILEMUIINFO :
|
|
Récupérez la somme de contrôle des ressources du fichier d’entrée dans le membre pChecksum de FILEMUIINFO. Si le fichier d’entrée ne contient pas de données de configuration des ressources, ce membre de la structure contient 0. |
|
Récupérez la langue associée au fichier d’entrée. Pour un fichier de ressources spécifique à la langue, cet indicateur demande la langue associée. Pour un fichier LN, cet indicateur demande la langue des ressources de secours ultimes pour le module, qui peut se trouver soit dans le fichier LN, soit dans un fichier de ressources distinct spécifique à la langue référencé par les données de configuration des ressources du fichier LN. Pour plus d'informations, consultez la section Notes. |
|
Récupérez des listes de types de ressources dans les fichiers de ressources spécifiques à la langue et les fichiers LN tels qu’ils sont spécifiés dans les données de configuration des ressources. Consultez la section Remarques pour obtenir un moyen d’accéder à ces informations. |
[in] pcwszFilePath
Pointeur vers une chaîne terminée par null indiquant le chemin d’accès au fichier. En règle générale, le fichier est un fichier LN ou un fichier de ressources spécifique à la langue. S’il ne s’agit pas de l’un de ces types, la seule valeur significative récupérée par la fonction est MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL. La fonction ne récupère cette valeur que si l’indicateur MUI_QUERY_RESOURCE_TYPES est défini.
[in, out, optional] pFileMUIInfo
Pointeur vers une mémoire tampon contenant des informations de fichier dans une structure FILEMUIINFO et éventuellement dans les données qui suivent cette structure. La mémoire tampon d’informations peut être beaucoup plus grande que la taille de la structure elle-même. En fonction des paramètres d’indicateur, la fonction peut stocker des informations considérables suivant la structure, à des décalages récupérés dans la structure. Pour plus d'informations, consultez la section Notes.
L’application peut également définir ce paramètre sur NULL si pcbFileMUIInfo a la valeur 0. Dans ce cas, la fonction récupère la taille requise pour la mémoire tampon d’informations dans pcbFileMUIInfo.
[in, out] pcbFileMUIInfo
Pointeur vers la taille de mémoire tampon, en octets, pour les informations de fichier indiquées par pFileMUIInfo. En cas de retour réussi à partir de la fonction, ce paramètre contient la taille de la mémoire tampon d’informations de fichier récupérées et la structure FILEMUIINFO qui le contient.
L’application peut également définir ce paramètre sur 0 si elle définit NULL dans pFileMUIInfo. Dans ce cas, la fonction récupère la taille de mémoire tampon d’informations de fichier requise dans pcbFileMUIInfo. Pour allouer la quantité de mémoire correcte, cette valeur doit être ajoutée à la taille de la structure FILEMUIINFO elle-même.
Valeur retournée
Retourne TRUE si elle réussit ou FALSE dans le cas contraire. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError.
Remarques
Pour l’indicateur MUI_QUERY_LANGUAGE_NAME, cette fonction récupère un décalage, en octets, à partir du début de FILEMUIINFO dans le membre dwLanguageNameOffset .
Voici un exemple de code qui accède au nom de langue associé au fichier d’entrée :
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwLanguageNameOffset);
Pour l’indicateur MUI_QUERY_RESOURCE_TYPES, cette fonction récupère les informations de fichier de ressources spécifiques à la langue dans les membres FILEMUIINFO suivants :
- Le membre dwTypeIDMUIOffset contient le décalage vers un tableau d’identificateurs de ressources contenus dans le fichier de ressources spécifique à la langue.
- Le membre dwTypeIDMUISize contient la taille du tableau d’identificateurs de ressource pour le fichier de ressources spécifique à la langue.
- Le membre dwTypeNameMUIOffset contient le décalage vers un tableau de noms de ressources contenus dans le fichier de ressources spécifique à la langue.
- Le membre dwTypeIDMainOffset contient le décalage vers un tableau d’identificateurs de ressources contenus dans le fichier LN.
- Le membre dwTypeIDMainSize contient la taille du tableau d’identificateurs de ressources pour le fichier LN.
- Le membre dwTypeNameMainOffset contient le décalage vers un tableau de noms de ressources contenus dans le fichier.
DWORD *pdwTypeID = reinterpret_cast<DWORD *>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwTypeIDMainOffset);
LPWSTR lpszNames = reinterpret_cast<LPWSTR>(
reinterpret_cast<BYTE*>(pFileMUIInfo) +
pFileMUIInfo->dwTypeNameMainOffset);
Une autre approche consiste à écrire ce qui suit au lieu du code indiqué dans les exemples. L’effet est le même et le choix est strictement de style.
DWORD ix = pFileMUIInfo->dwLanguageNameOffset -
offsetof(struct _FILEMUIINFO, abBuffer);
LPWSTR lpszLang = reinterpret_cast<LPWSTR>(&(pFileMUIInfo->abBuffer[ix]));
C# Signature
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetFileMUIInfo(
System.UInt32 dwFlags,
System.String pcwszFilePath,
ref FILEMUIINFO pFileMUIInfo,
ref System.UInt32 pcbFileMUIInfo
);
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] |
Plateforme cible | Windows |
En-tête | winnls.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
Interface utilisateur multilingue