GetStringTypeW-Funktion (stringapiset.h)
Anmerkung
Diese API enthält möglicherweise unvollständige/veraltete Informationen für bestimmte Unicode-Zeichen, insbesondere solche im ergänzenden Bereich. Für genauere und umfassendere Unicode-Zeichentypinformationen sollten Sie entsprechende ICU-APIs wie u_charType, u_islower, u_isspaceund u_ispunctverwenden. Anleitungen zur Verwendung von ICU-APIs unter Windows finden Sie unter Erste Schritte mit ICU unter Windows.
Ruft Zeichentypinformationen für die Zeichen in der angegebenen Unicode-Quellzeichenfolge ab. Für jedes Zeichen in der Zeichenfolge legt die Funktion ein oder mehrere Bits im entsprechenden 16-Bit-Element des Ausgabearrays fest. Jedes Bit identifiziert einen bestimmten Zeichentyp, z. B. Buchstaben, Ziffern oder keines.
Syntax
BOOL GetStringTypeW(
[in] DWORD dwInfoType,
[in] _In_NLS_string_(cchSrc)LPCWCH lpSrcStr,
[in] int cchSrc,
[out] LPWORD lpCharType
);
Parameter
[in] dwInfoType
Flags, die die abzurufenden Zeichentypinformationen angeben. Dieser Parameter kann die folgenden Werte aufweisen. Die Zeichentypen sind in verschiedene Ebenen unterteilt, wie im Abschnitt "Hinweise" beschrieben.
Flagge | Bedeutung |
---|---|
|
Abrufen von Zeichentypinformationen. |
|
Rufen Sie bidirektionale Layoutinformationen ab. |
|
Abrufen von Textverarbeitungsinformationen. |
[in] lpSrcStr
Zeigen Sie auf die Unicode-Zeichenfolge, für die die Zeichentypen abgerufen werden sollen. Die Zeichenfolge wird als NULL-terminiert angenommen, wenn cchSrc- auf einen negativen Wert festgelegt ist.
[in] cchSrc
Größe der durch lpSrcStrangegebenen Zeichenfolge in Zeichen. Wenn die Größe ein endendes NULL-Zeichen enthält, ruft die Funktion Zeichentypinformationen für dieses Zeichen ab. Wenn die Anwendung die Größe auf eine negative ganze Zahl festlegt, wird davon ausgegangen, dass die Quellzeichenfolge NULL beendet wird und die Funktion die Größe automatisch mit einem zusätzlichen Zeichen für die NULL-Beendigung berechnet.
[out] lpCharType
Zeigen Sie auf ein Array mit 16-Bit-Werten. Die Länge dieses Arrays muss groß genug sein, um einen 16-Bit-Wert für jedes Zeichen in der Quellzeichenfolge zu erhalten. Wenn cchSrc keine negative Zahl ist, sollte lpCharType- ein Array von Wörtern mit cchSrc Elementen sein. Wenn cchSrc- auf eine negative Zahl festgelegt ist, ist lpCharType- ein Array von Wörtern mit lpSrcStr + 1 Elementen. Wenn die Funktion zurückgegeben wird, enthält dieses Array ein Wort, das jedem Zeichen in der Quellzeichenfolge entspricht.
Rückgabewert
Gibt einen Wert ungleich Null zurück, wenn dies erfolgreich war, oder 0 andernfalls. Um erweiterte Fehlerinformationen zu erhalten, kann die Anwendung GetLastErroraufrufen, wodurch eine der folgenden Fehlercodes zurückgegeben werden kann:
- ERROR_INVALID_FLAGS. Die für Flags angegebenen Werte waren ungültig.
- ERROR_INVALID_PARAMETER. Ungültige Parameterwerte.
Bemerkungen
Eine Übersicht über die Verwendung der Zeichenfolgenfunktionen finden Sie unter Strings.
Die Werte der parameter lpSrcStr und lpCharType dürfen nicht identisch sein. Wenn sie identisch sind, schlägt die Funktion mit ERROR_INVALID_PARAMETER fehl.
Der vom entsprechenden
unterstützte Zeichentypen
Die Zeichentypbits sind in mehrere Ebenen unterteilt. Die Informationen für eine Ebene können von einem einzelnen Aufruf dieser Funktion abgerufen werden. Jede Ebene ist auf 16 Bits von Informationen beschränkt, sodass die anderen Zuordnungsfunktionen, die auf 16 Bit darstellung pro Zeichen beschränkt sind, auch Zeichentypinformationen zurückgeben können.
Ctype 1
Diese Typen unterstützen ANSI C- und POSIX-Zeicheneingabefunktionen (LC_CTYPE). Ein bitweiser OR dieser Werte wird im Array im Ausgabepuffer abgerufen, wenn dwInfoType- auf CT_CTYPE1 festgelegt ist. Für DBCS-Gebietsschemas gelten die Typattribute sowohl für schmale Zeichen als auch für breite Zeichen. Die japanischen Hiragana- und Katakana-Zeichen und die Kanji-Ideographzeichen weisen alle das C1_ALPHA Attribut auf.
Name | Wert | Bedeutung |
---|---|---|
C1_UPPER | 0x0001 | Großschrift |
C1_LOWER | 0x0002 | Kleingeschrieben |
C1_DIGIT | 0x0004 | Dezimalstellen |
C1_SPACE | 0x0008 | Leerzeichen |
C1_PUNCT | 0x0010 | Interpunktion |
C1_CNTRL | 0x0020 | Steuerzeichen |
C1_BLANK | 0x0040 | Leere Zeichen |
C1_XDIGIT | 0x0080 | Hexadezimalziffern |
C1_ALPHA | 0x0100 | Beliebiges sprachliches Zeichen: alphabetisch, silbisch oder ideografisch |
C1_DEFINED | 0x0200 | Ein definiertes Zeichen, jedoch keins der anderen C1_*-Typen |
Die folgenden Zeichentypen sind entweder konstant oder aus basisformatierbaren Typen und müssen von dieser Funktion nicht unterstützt werden.
Art | Beschreibung |
---|---|
Alphanumerisch | Alphabetische Zeichen und Ziffern (C1_ALPHA und C1_DIGIT) |
Druckbar | Grafikzeichen und Leerzeichen (alle C1_*-Typen außer C1_CNTRL) |
Ctype 2-
Diese Typen unterstützen das richtige Layout von Unicode-Text. Bei DBCS-Gebietsschemas gilt der Zeichentyp sowohl für schmale als auch für breite Zeichen. Die Richtungsattribute werden zugewiesen, sodass der von Unicode standardisierte bidirektionale Layoutalgorithmus genaue Ergebnisse erzeugt. Diese Typen schließen sich gegenseitig aus. Weitere Informationen zur Verwendung dieser Attribute finden Sie unter Unicode Standard.
Name | Wert | Bedeutung |
---|---|---|
Stark | ||
C2_LEFTTORIGHT | 0x0001 | Von links nach rechts |
C2_RIGHTTOLEFT | 0x0002 | Von rechts nach links |
Schwach | ||
C2_EUROPENUMBER | 0x0003 | Europäische Zahl, europäische Ziffer |
C2_EUROPESEPARATOR | 0x0004 | Europäisches numerisches Trennzeichen |
C2_EUROPETERMINATOR | 0x0005 | Europäischer numerischer Terminator |
C2_ARABICNUMBER | 0x0006 | Arabische Nummer |
C2_COMMONSEPARATOR | 0x0007 | Allgemeines numerisches Trennzeichen |
Neutral | ||
C2_BLOCKSEPARATOR | 0x0008 | Blocktrennzeichen |
C2_SEGMENTSEPARATOR | 0x0009 | Segmenttrennzeichen |
C2_WHITESPACE | 0x000A | Leerraum |
C2_OTHERNEUTRAL | 0x000B | Andere Neutrale |
Nicht zutreffend | ||
C2_NOTAPPLICABLE | 0x0000 | Keine implizite Direktionalität (z. B. Steuerelementcodes) |
Ctype 3-
Diese Typen sollen Platzhalter für Erweiterungen der POSIX-Typen sein, die für die allgemeine Textverarbeitung oder für die Standardmäßigen C-Bibliotheksfunktionen erforderlich sind. Ein bitweiser OR dieser Werte wird abgerufen, wenn dwInfoType- auf CT_CTYPE3 festgelegt ist. Für DBCS-Gebietsschemas gelten die Ctype 3-Attribute sowohl für schmale Zeichen als auch für breite Zeichen. Die japanischen Hiragana- und Katakana-Zeichen und die Kanji-Ideographzeichen weisen alle das C3_ALPHA Attribut auf.
Name | Wert | Bedeutung |
---|---|---|
C3_NONSPACING | 0x0001 | Zeichen ohne Pacing |
C3_DIACRITIC | 0x0002 | Diakritische Nicht-Pacing-Markierung |
C3_VOWELMARK | 0x0004 | Vokal-Nonspacing-Marke |
C3_SYMBOL | 0x0008 | Symbol |
C3_KATAKANA | 0x0010 | Katakana-Zeichen |
C3_HIRAGANA | 0x0020 | Hiragana-Zeichen |
C3_HALFWIDTH | 0x0040 | Zeichen halber Breite (schmal) |
C3_FULLWIDTH | 0x0080 | Zeichen mit voller Breite (breit) |
C3_IDEOGRAPH | 0x0100 | Ideografisches Zeichen |
C3_KASHIDA | 0x0200 | Arabisches Kashida-Zeichen |
C3_LEXICAL | 0x0400 | Satzzeichen, die als Teil des Worts gezählt wird (Kashida, Bindestrich, weibliche/männliche Ordinalindikatoren, Gleichheitszeichen usw.) |
C3_ALPHA | 0x8000 | Alle sprachlichen Zeichen (alphabetisch, silbisch und ideografisch) |
C3_HIGHSURROGATE | 0x0800 | Windows Vista: Hohe Ersatzcodeeinheit |
C3_LOWSURROGATE | 0x1000 | Windows Vista: Low Surrogate Code Unit |
Nicht zutreffend | ||
C3_NOTAPPLICABLE | 0x0000 | Nicht zutreffend |
C3_HIGHSURROGATE und C3_LOWSURROGATE werden nur für Vollständigkeit aufgeführt und sollten dieser Funktion niemals zur Verfügung gestellt werden. Sie sind nur für Unicode relevant.
Ab Windows 8: GetStringTypeW- wird in Stringapiset.h deklariert. Vor Windows 8 wurde sie in Winnls.h deklariert.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | stringapiset.h (include Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |