Struttura CPINFO (winnls.h)

Contiene informazioni su una tabella codici. Questa struttura viene usata dalla funzione GetCPInfo .

Sintassi

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

Members

MaxCharSize

Lunghezza massima, in byte, di un carattere nella tabella codici. La lunghezza può essere 1 per un set di caratteri a byte singolo (SBCS), 2 per un set di caratteri a byte doppio (DBCS) o un valore maggiore di 2 per altri tipi di set di caratteri. La funzione non può usare le dimensioni per distinguere un DATABASECS o un DBCS da altri set di caratteri a causa di altri fattori, ad esempio l'uso di pagine codici ISCII o ISO-2022-xx.

DefaultChar[MAX_DEFAULTCHAR]

Carattere predefinito usato durante la conversione di stringhe di caratteri nella tabella codici specifica. Questo carattere viene usato dalla funzione WideCharToMultiByte se non è specificato un carattere predefinito esplicito. Il valore predefinito è in genere il carattere "?" per la tabella codici.

LeadByte[MAX_LEADBYTES]

Matrice a lunghezza fissa degli intervalli di byte di lead, per cui il numero di intervalli di byte di lead è variabile. Se la tabella codici non ha byte di lead, ogni elemento della matrice è impostato su NULL. Se la tabella codici ha byte di lead, la matrice specifica un valore iniziale e un valore finale per ogni intervallo. Gli intervalli sono inclusivi e il numero massimo di intervalli per qualsiasi tabella codici è cinque. La matrice usa due byte per descrivere ogni intervallo, con due byte Null come terminatore dopo l'ultimo intervallo.

Nota Alcune pagine codici usano byte di lead e una combinazione di altri meccanismi di codifica. Questo membro viene in genere popolato solo per un subset delle pagine codici che usano byte di lead in alcuni moduli. Per altre informazioni, vedere la sezione Osservazioni.
 

Commenti

I byte di lead sono univoci per le pagine codici DBCS che consentono più di 256 caratteri. Un byte di lead è il primo byte di un carattere a 2 byte in un databaseCS. In ogni tabella codici DBCS, i byte di lead occupano un intervallo specifico di valori di byte. Questo intervallo è diverso per le diverse pagine di codice.

Le informazioni sui byte lead non sono molto utili per la maggior parte delle pagine di codice e non sono nemmeno fornite per molte codifica multi-byte, ad esempio UTF-8 e GB18030. Le applicazioni sono sconsigliate dall'uso di queste informazioni per prevedere le operazioni eseguite dalla funzione MultiByteToWideChar o WideCharToMultiByte . La funzione potrebbe terminare usando un carattere predefinito o eseguendo altri comportamenti predefiniti se i byte che seguono il byte non sono come previsto.

CPINFOEX, usato dalla funzione GetCPInfoEx , fornisce una versione estesa di questa struttura.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione winnls.h (includere Windows.h)

Vedi anche

CPINFOEX

GetCPInfo

MultiByteToWideChar

Strutture di supporto del linguaggio nazionale

WideCharToMultiByte