CPINFOEXW-Struktur (winnls.h)
Enthält Informationen zu einer Codepage. Diese Struktur wird von der GetCPInfoEx-Funktion verwendet.
Syntax
typedef struct _cpinfoexW {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
WCHAR UnicodeDefaultChar;
UINT CodePage;
WCHAR CodePageName[MAX_PATH];
} CPINFOEXW, *LPCPINFOEXW;
Member
MaxCharSize
Maximale Länge eines Zeichens auf der Codepage in Bytes. Die Länge kann 1 für einen Single-Byte-Zeichensatz (Single-Byte Character Set , SBCS), 2 für einen Double-Byte-Zeichensatz (DBCS) oder ein Wert größer als 2 für andere Zeichensatztypen sein. Die Funktion kann die Größe nicht verwenden, um einen SBCS oder einen DBCS von anderen Zeichensätzen zu unterscheiden, weil andere Faktoren wie z. B. die Verwendung von ISCII- oder ISO-2022-xx-Codepages verwendet werden.
DefaultChar[MAX_DEFAULTCHAR]
Standardzeichen, das beim Übersetzen von Zeichenfolgen in die spezifische Codepage verwendet wird. Dieses Zeichen wird von der WideCharToMultiByte-Funktion verwendet, wenn kein explizites Standardzeichen angegeben ist. Der Standardwert ist normalerweise das Zeichen "?" für die Codepage.
LeadByte[MAX_LEADBYTES]
Ein Array mit fester Länge von Leadbytebereichen, für das die Anzahl der Leadbytebereiche variabel ist. Wenn die Codepage keine Leadbytes enthält, wird jedes Element des Arrays auf NULL festgelegt. Wenn die Codepage über Leadbytes verfügt, gibt das Array einen Startwert und einen Endwert für jeden Bereich an. Bereiche sind inklusiv, und die maximale Anzahl von Bereichen für eine Codepage beträgt fünf. Das Array verwendet zwei Bytes, um jeden Bereich zu beschreiben, wobei zwei NULL-Bytes als Abschlusszeichen nach dem letzten Bereich verwendet werden.
UnicodeDefaultChar
Unicode-Standardzeichen, das in Übersetzungen von der spezifischen Codepage verwendet wird. Der Standardwert ist normalerweise das Zeichen "?" oder das Katakana-Mittelpunktzeichen. Das Unicode-Standardzeichen wird von der MultiByteToWideChar-Funktion verwendet.
CodePage
Codepagewert. Dieser Wert spiegelt die Codepage wider, die an die GetCPInfoEx-Funktion übergeben wird. Eine Liste mit ANSI und anderen Codepages finden Sie unter Codepage-Bezeichner .
CodePageName[MAX_PATH]
Vollständiger Name der Codepage. Beachten Sie, dass dieser Name lokalisiert ist und nicht für die Eindeutigkeit oder Konsistenz zwischen Betriebssystemversionen oder Computern garantiert ist.
Hinweise
Leadbytes sind für DBCS-Codeseiten eindeutig, die mehr als 256 Zeichen zulassen. Ein Leadbyte ist das erste Byte eines 2-Byte-Zeichens in einem DBCS. Auf jeder DBCS-Codepage belegen die Leadbytes einen bestimmten Bytewertbereich. Dieser Bereich unterscheidet sich für verschiedene Codeseiten.
Die Leadbyteinformationen sind für die meisten Codepages nicht sehr hilfreich und werden nicht einmal für viele Multibytecodierungen bereitgestellt, z. B. UTF-8 und GB18030. Ihre Anwendungen werden davon abgeraten, diese Informationen zu verwenden, um vorherzusagen, was die MultiByteToWideChar - oder WideCharToMultiByte-Funktion leisten wird. Die Funktion verwendet möglicherweise ein Standardzeichen oder ein anderes Standardverhalten, wenn die Bytes, die dem Leadbyte folgen, nicht wie erwartet sind.
Hinweis
Der winnls.h-Header definiert CPINFOEX als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Kopfzeile | winnls.h (einschließlich Windows.h) |