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.
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
CodePage
Valore della tabella codici. Questo valore riflette la tabella codici passata alla funzione GetCPInfoEx
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
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) |