Struttura CPINFOEXA (winnls.h)

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

Sintassi

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

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.
 

UnicodeDefaultChar

Carattere predefinito Unicode usato nelle traduzioni dalla tabella codici specifica. Il valore predefinito è in genere il carattere "?" o il carattere centrale katakana. Il carattere predefinito Unicode viene usato dalla funzione MultiByteToWideChar .

CodePage

Valore della tabella codici. Questo valore riflette la tabella codici passata alla funzione GetCPInfoEx . Vedere Identificatori di tabella codici per un elenco di ANSI e altre pagine di codice.

CodePageName[MAX_PATH]

Nome completo della tabella codici. Si noti che questo nome è localizzato e non è garantito per l'univocità o la coerenza tra le versioni del sistema operativo o i computer.

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.

Nota

L'intestazione winnls.h definisce CPINFOEX come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Intestazione winnls.h (includere Windows.h)

Vedi anche

GetCPInfoEx

MultiByteToWideChar

Strutture di supporto del linguaggio nazionale

WideCharToMultiByte