Condividi tramite


Struttura CPINFOEXW (winnls.h)

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

Sintassi

typedef struct _cpinfoexW {
  UINT  MaxCharSize;
  BYTE  DefaultChar[MAX_DEFAULTCHAR];
  BYTE  LeadByte[MAX_LEADBYTES];
  WCHAR UnicodeDefaultChar;
  UINT  CodePage;
  WCHAR CodePageName[MAX_PATH];
} CPINFOEXW, *LPCPINFOEXW;

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 uno SBCS o un DBCS da altri set di caratteri a causa di altri fattori, ad esempio l'uso di tabelle codici ISCII o ISO-2022-xx.

DefaultChar[MAX_DEFAULTCHAR]

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

LeadByte[MAX_LEADBYTES]

Matrice a lunghezza fissa di intervalli di byte lead, per cui il numero di intervalli di byte lead è variabile. Se la tabella codici non contiene byte lead, ogni elemento della matrice viene impostato su NULL. Se la tabella codici contiene 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 carattere di terminazione dopo l'ultimo intervallo.

Nota Alcune tabelle codici usano byte lead e una combinazione di altri meccanismi di codifica. Questo membro viene in genere popolato solo per un subset delle tabelle codici che usano byte lead in qualche forma. 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 . Per un elenco di ANSI e altre tabelle codici, vedere Identificatori di tabella codici.

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 tabelle codici DBCS che consentono più di 256 caratteri. Un byte iniziale è il primo byte di un carattere a 2 byte in un DBCS. In ogni tabella codici DBCS i byte lead occupano un intervallo specifico di valori di byte. Questo intervallo è diverso per tabelle codici diverse.

Le informazioni sui byte iniziali non sono molto utili per la maggior parte delle tabelle codici e non vengono fornite nemmeno per molte codifiche a byte multipla, ad esempio UTF-8 e GB18030. Le applicazioni non possono usare queste informazioni per prevedere le operazioni eseguite dalla funzione MultiByteToWideChar o WideCharToMultiByte . La funzione potrebbe terminare usando un carattere predefinito o eseguire un altro comportamento predefinito se i byte che seguono il byte del lead 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

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

Vedi anche

GetCPInfoEx

MultiByteToWideChar

Strutture di supporto per la lingua nazionale

WideCharToMultiByte