Partager via


Structure CPINFOEXA (winnls.h)

Contient des informations sur une page de code. Cette structure est utilisée par la fonction GetCPInfoEx .

Syntaxe

typedef struct _cpinfoexA {
  UINT  MaxCharSize;
  BYTE  DefaultChar[MAX_DEFAULTCHAR];
  BYTE  LeadByte[MAX_LEADBYTES];
  WCHAR UnicodeDefaultChar;
  UINT  CodePage;
  CHAR  CodePageName[MAX_PATH];
} CPINFOEXA, *LPCPINFOEXA;

Membres

MaxCharSize

Longueur maximale, en octets, d’un caractère dans la page de code. La longueur peut être 1 pour un jeu de caractères sur un octet (SBCS), 2 pour un jeu de caractères double octet (DBCS) ou une valeur supérieure à 2 pour d’autres types de jeu de caractères. La fonction ne peut pas utiliser la taille pour distinguer un SBCS ou un DBCS d’autres jeux de caractères en raison d’autres facteurs, par exemple l’utilisation de pages de code ISCII ou ISO-2022-xx.

DefaultChar[MAX_DEFAULTCHAR]

Caractère par défaut utilisé lors de la traduction de chaînes de caractères vers la page de code spécifique. Ce caractère est utilisé par la fonction WideCharToMultiByte si aucun caractère par défaut explicite n’est spécifié. La valeur par défaut est généralement le caractère « ? » de la page de code.

LeadByte[MAX_LEADBYTES]

Tableau de longueur fixe de plages d’octets de prospect, pour lesquels le nombre de plages d’octets de prospect est variable. Si la page de code n’a pas d’octets de prospect, chaque élément du tableau a la valeur NULL. Si la page de code a des octets de prospect, le tableau spécifie une valeur de début et une valeur de fin pour chaque plage. Les plages sont inclusives et le nombre maximal de plages pour une page de code est de cinq. Le tableau utilise deux octets pour décrire chaque plage, avec deux octets null comme terminaison après la dernière plage.

Note Certaines pages de code utilisent des octets de prospect et une combinaison d’autres mécanismes d’encodage. Ce membre est généralement renseigné uniquement pour un sous-ensemble des pages de code qui utilisent des octets de prospect sous une forme quelconque. Pour plus d'informations, consultez la section Notes.
 

UnicodeDefaultChar

Caractère Unicode par défaut utilisé dans les traductions à partir de la page de code spécifique. La valeur par défaut est généralement le caractère « ? » ou le caractère de point central katakana. Le caractère Unicode par défaut est utilisé par la fonction MultiByteToWideChar .

CodePage

Valeur de la page de code. Cette valeur reflète la page de code passée à la fonction GetCPInfoEx . Pour obtenir la liste des pages ANSI et d’autres pages de code, consultez Identificateurs de page de code.

CodePageName[MAX_PATH]

Nom complet de la page de code. Notez que ce nom est localisé et n’est pas garanti pour l’unicité ou la cohérence entre les versions du système d’exploitation ou les ordinateurs.

Remarques

Les octets de prospect sont propres aux pages de code DBCS qui autorisent plus de 256 caractères. Un octet principal est le premier octet d’un caractère de 2 octets dans un DBCS. Sur chaque page de code DBCS, les octets de prospect occupent une plage spécifique de valeurs d’octets. Cette plage est différente pour les différentes pages de code.

Les informations sur les octets de prospect ne sont pas très utiles pour la plupart des pages de code et ne sont même pas fournies pour de nombreux encodages multi-octets, par exemple, UTF-8 et GB18030. Il est déconseillé à vos applications d’utiliser ces informations pour prédire ce que fera la fonction MultiByteToWideChar ou WideCharToMultiByte . La fonction peut finir par utiliser un caractère par défaut ou effectuer un autre comportement par défaut si les octets qui suivent l’octet de prospect ne sont pas comme prévu.

Notes

L’en-tête winnls.h définit CPINFOEX comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
En-tête winnls.h (inclure Windows.h)

Voir aussi

GetCPInfoEx

MultiByteToWideChar

Structures de prise en charge des langues nationales

WideCharToMultiByte