Estrutura CPINFO (winnls.h)

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

Sintaxe

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

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.
 

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.

CPINFOEX, usado pela função GetCPInfoEx , fornece uma versão estendida dessa estrutura.

Requisitos

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

Confira também

CPINFOEX

Getcpinfo

MultiByteToWideChar

Estruturas de suporte à linguagem nacional

WideCharToMultiByte