Structure CPINFOEXA (winnls.h)
Contient des informations sur une page de codes. 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 codes. La longueur peut être égale à 1 pour un jeu de caractères à octet unique (SBCS), 2 pour un jeu de caractères de 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 codes 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 codes 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 « ? » pour la page de codes.
LeadByte[MAX_LEADBYTES]
Tableau de plages d’octets de prospect de longueur fixe pour laquelle le nombre de plages d’octets de prospect est variable. Si la page de codes n’a pas d’octets de prospect, chaque élément du tableau a la valeur NULL. Si la page de codes comporte des octets de prospect, le tableau spécifie une valeur de départ et une valeur de fin pour chaque plage. Les plages sont inclusives et le nombre maximal de plages pour n’importe quelle page de codes est de cinq. Le tableau utilise deux octets pour décrire chaque plage, avec deux octets null comme marque de fin après la dernière plage.
UnicodeDefaultChar
Caractère unicode par défaut utilisé dans les traductions de la page de codes 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 codes. Cette valeur reflète la page de codes passée à la fonction GetCPInfoEx. Consultez identificateurs de page de codes pour obtenir la liste d’ANSI et d’autres pages de codes.
CodePageName[MAX_PATH]
Nom complet de la page de codes. 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 uniques aux pages de codes DBCS qui autorisent plus de 256 caractères. Un octet de tête est le premier octet d’un caractère de 2 octets dans un DBCS. Sur chaque page de codes DBCS, les octets de prospect occupent une plage spécifique de valeurs d’octets. Cette plage est différente pour différentes pages de codes.
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 multioctets, par exemple UTF-8 et GB18030. Vos applications sont déconseillées d’utiliser ces informations pour prédire ce que la fonction MultiByteToWideChar ou WideCharToMultiByte effectuera. La fonction peut finir par utiliser un caractère par défaut ou effectuer d’autres comportements par défaut si les octets qui suivent l’octet de prospect ne sont pas comme prévu.
Note
L’en-tête winnls.h définit CPINFOEX comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
d’en-tête | winnls.h (include Windows.h) |