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;

Membri

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ò utilizzare 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 usato 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 include byte lead, ogni elemento della matrice viene impostato su NULL. Se la tabella codici include 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 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 formato. 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 della 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.

Osservazioni

I byte 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 più byte, ad esempio UTF-8 e GB18030. Le applicazioni non possono usare queste informazioni per stimare le operazioni eseguite dalla funzione MultiByteToWideCharchar o WideCharToMultiByte. La funzione potrebbe terminare usando un carattere predefinito o eseguendo un altro comportamento predefinito se i byte che seguono il byte di 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
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)

Vedere anche

GetCPInfoEx

MultiByteToWideChar

strutture di supporto linguistico nazionale

WideCharToMultiByte