Structure CPINFO (winnls.h)

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

Syntaxe

typedef struct _cpinfo {
  UINT MaxCharSize;
  BYTE DefaultChar[MAX_DEFAULTCHAR];
  BYTE LeadByte[MAX_LEADBYTES];
} CPINFO, *LPCPINFO;

Membres

MaxCharSize

Longueur maximale, en octets, d’un caractère dans la page de codes. La longueur peut être de 1 pour un jeu de caractères codés sur un octet (SBCS), de 2 pour un jeu de caractères codés sur deux octets (DBCS) ou d’une valeur supérieure à 2 pour les 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 « ? » de la page de codes.

LeadByte[MAX_LEADBYTES]

Tableau de longueur fixe de plages d’octets de prospect, pour lequel 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 contient 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 une page de codes est de cinq. Le tableau utilise deux octets pour décrire chaque plage, avec deux octets null comme terminateur après la dernière plage.

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

Notes

Les octets de prospect sont propres aux pages de codes DBCS qui contiennent 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 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 codes et ne sont même pas fournies pour de nombreux encodages sur plusieurs 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 exécuter un autre comportement par défaut si les octets qui suivent l’octet de début ne sont pas comme prévu.

CPINFOEX, utilisé par la fonction GetCPInfoEx , fournit une version étendue de cette structure.

Configuration requise

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

Voir aussi

CPINFOEX

GetCPInfo

MultiByteToWideChar

Structures de prise en charge des langues nationales

WideCharToMultiByte