Estructura CPINFOEXW (winnls.h)

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

Sintaxis

typedef struct _cpinfoexW {
  UINT  MaxCharSize;
  BYTE  DefaultChar[MAX_DEFAULTCHAR];
  BYTE  LeadByte[MAX_LEADBYTES];
  WCHAR UnicodeDefaultChar;
  UINT  CodePage;
  WCHAR CodePageName[MAX_PATH];
} CPINFOEXW, *LPCPINFOEXW;

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 conjuntos 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 usado 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, cada elemento de la matriz se establece 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. Este miembro normalmente 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.
 

UnicodeDefaultChar

Carácter predeterminado Unicode usado en las traducciones de la página de códigos específica. El valor predeterminado suele ser el carácter "?" o el carácter de punto central katakana. La función MultiByteToWideChar usa el carácter predeterminado Unicode.

CodePage

Valor de página de códigos. Este valor refleja la página de códigos pasada a la función GetCPInfoEx . Consulte Identificadores de página de códigos para obtener una lista de ANSI y otras páginas de códigos.

CodePageName[MAX_PATH]

Nombre completo de la página de códigos. Tenga en cuenta que este nombre está localizado y no está garantizado para la unicidad o coherencia entre las versiones del sistema operativo o los equipos.

Comentarios

Los bytes de cliente potencial son exclusivos de las páginas de códigos DBCS que permiten más de 256 caracteres. Un byte principal 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.

Nota

El encabezado winnls.h define CPINFOEX como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Encabezado winnls.h (incluya Windows.h)

Consulte también

GetCPInfoEx

MultiByteToWideChar

Estructuras de compatibilidad con idiomas nacionales

WideCharToMultiByte