Share via


Estructura CPINFO (winnls.h)

Contiene información sobre una página de códigos. Esta estructura la usa la función GetCPInfo .

Sintaxis

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

Miembros

MaxCharSize

Longitud máxima, en bytes, de un carácter en la página de códigos. La longitud puede ser 1 para un juego de caracteres de un solo byte (SBCS), 2 para un juego de caracteres de doble byte (DBCS) o un valor mayor que 2 para otros tipos de juego de caracteres. La función no puede usar el tamaño para distinguir un SBCS o un DBCS de otros juegos de caracteres debido a otros factores, por ejemplo, el uso de páginas de códigos ISCII o ISO-2022-xx.

DefaultChar[MAX_DEFAULTCHAR]

Carácter predeterminado que se usa al traducir cadenas de caracteres a la página de códigos específica. La función WideCharToMultiByte usa este carácter si no se especifica un carácter predeterminado explícito. El valor predeterminado suele ser el carácter "?" de la página de códigos.

LeadByte[MAX_LEADBYTES]

Matriz de longitud fija de intervalos de bytes de cliente potencial, para la que el número de intervalos de bytes de cliente potencial es variable. Si la página de códigos no tiene bytes de cliente potencial, todos los elementos de la matriz se establecen en NULL. Si la página de códigos tiene bytes de cliente potencial, la matriz especifica un valor inicial y un valor final para cada intervalo. Los intervalos son inclusivos y el número máximo de intervalos para cualquier página de códigos es cinco. La matriz usa dos bytes para describir cada intervalo, con dos bytes NULL como terminador después del último intervalo.

Nota Algunas páginas de códigos usan bytes de cliente potencial y una combinación de otros mecanismos de codificación. Normalmente, este miembro solo se rellena para un subconjunto de las páginas de códigos que usan bytes de cliente potencial en algún formato. Para obtener más información, vea la sección Comentarios.
 

Comentarios

Los bytes de cliente potencial son únicos para las páginas de códigos DBCS que permiten más de 256 caracteres. Un byte inicial es el primer byte de un carácter de 2 bytes en un DBCS. En cada página de códigos de DBCS, los bytes de cliente potencial ocupan un intervalo específico de valores de bytes. Este intervalo es diferente para diferentes páginas de códigos.

La información del byte principal no es muy útil para la mayoría de las páginas de códigos y ni siquiera se proporciona para muchas codificaciones de varios bytes, por ejemplo, UTF-8 y GB18030. No se recomienda usar esta información para predecir lo que hará la función MultiByteToWideChar o WideCharToMultiByte . La función podría acabar usando un carácter predeterminado o realizar otro comportamiento predeterminado si los bytes que siguen al byte principal no son los esperados.

CPINFOEX, que usa la función GetCPInfoEx , proporciona una versión extendida de esta estructura.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado winnls.h (incluye Windows.h)

Consulte también

CPINFOEX

GetCPInfo

MultiByteToWideChar

Estructuras de compatibilidad con idiomas nacionales

WideCharToMultiByte