Estructura CPINFOEXA (winnls.h)
Contiene información sobre una página de códigos. Esta estructura la usa la función GetCPInfoEx .
Sintaxis
typedef struct _cpinfoexA {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
WCHAR UnicodeDefaultChar;
UINT CodePage;
CHAR CodePageName[MAX_PATH];
} CPINFOEXA, *LPCPINFOEXA;
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.
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 intermedio 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 se garantiza la unicidad o coherencia entre las versiones del sistema operativo o los equipos.
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.
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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o 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 (incluye Windows.h) |