Estrutura CPINFOEXA (winnls.h)

Contém informações sobre uma página de código. Essa estrutura é usada pela função GetCPInfoEx .

Sintaxe

typedef struct _cpinfoexA {
  UINT  MaxCharSize;
  BYTE  DefaultChar[MAX_DEFAULTCHAR];
  BYTE  LeadByte[MAX_LEADBYTES];
  WCHAR UnicodeDefaultChar;
  UINT  CodePage;
  CHAR  CodePageName[MAX_PATH];
} CPINFOEXA, *LPCPINFOEXA;

Membros

MaxCharSize

Comprimento máximo, em bytes, de um caractere na página de código. O comprimento pode ser 1 para um conjunto de caracteres de byte único (SBCS), 2 para um DBCS ( conjunto de caracteres de byte duplo ) ou um valor maior que 2 para outros tipos de conjunto de caracteres. A função não pode usar o tamanho para distinguir um SBCS ou um DBCS de outros conjuntos de caracteres devido a outros fatores, por exemplo, o uso de páginas de código ISCII ou ISO-2022-xx.

DefaultChar[MAX_DEFAULTCHAR]

Caractere padrão usado ao traduzir cadeias de caracteres para a página de código específica. Esse caractere será usado pela função WideCharToMultiByte se um caractere padrão explícito não for especificado. O padrão geralmente é o caractere "?" da página de código.

LeadByte[MAX_LEADBYTES]

Uma matriz de comprimento fixo de intervalos de bytes de chumbo, para os quais o número de intervalos de bytes de chumbo é variável. Se a página de código não tiver bytes potenciais, cada elemento da matriz será definido como NULL. Se a página de código tiver bytes potenciais, a matriz especificará um valor inicial e um valor final para cada intervalo. Os intervalos são inclusivos e o número máximo de intervalos para qualquer página de código é cinco. A matriz usa dois bytes para descrever cada intervalo, com dois bytes nulos como terminador após o último intervalo.

Nota Algumas páginas de código usam bytes potenciais e uma combinação de outros mecanismos de codificação. Esse membro geralmente só é preenchido para um subconjunto das páginas de código que usam bytes potenciais de alguma forma. Para obter mais informações, consulte a seção Comentários.
 

UnicodeDefaultChar

Caractere padrão Unicode usado em traduções da página de código específica. O padrão geralmente é o caractere "?" ou o caractere de ponto do meio katakana. O caractere padrão Unicode é usado pela função MultiByteToWideChar .

CodePage

Valor da página de código. Esse valor reflete a página de código passada para a função GetCPInfoEx . Consulte Identificadores de página de código para obter uma lista de ANSI e outras páginas de código.

CodePageName[MAX_PATH]

Nome completo da página de código. Observe que esse nome é localizado e não é garantido para exclusividade ou consistência entre versões do sistema operacional ou computadores.

Comentários

Os bytes potenciais são exclusivos para páginas de código DBCS que permitem mais de 256 caracteres. Um byte principal é o primeiro byte de um caractere de 2 bytes em um DBCS. Em cada página de código DBCS, os bytes potenciais ocupam um intervalo específico de valores de bytes. Esse intervalo é diferente para páginas de código diferentes.

As informações de byte de cliente potencial não são muito úteis para a maioria das páginas de código e nem são fornecidas para muitas codificações de vários bytes, por exemplo, UTF-8 e GB18030. Seus aplicativos são desencorajados a usar essas informações para prever o que a função MultiByteToWideChar ou WideCharToMultiByte fará. A função pode acabar usando um caractere padrão ou executando outro comportamento padrão se os bytes que seguem o byte de lead não forem os esperados.

Observação

O cabeçalho winnls.h define CPINFOEX como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho winnls.h (inclua Windows.h)

Confira também

GetCPInfoEx

MultiByteToWideChar

Estruturas de suporte à linguagem nacional

WideCharToMultiByte