GetStringTypeW 関数 (stringapiset.h)
手記
この API には、特定の Unicode 文字 (特に補助範囲の文字) に関する不完全な情報や古い情報が含まれている場合があります。 より正確で包括的な Unicode 文字型情報については、u_charType、u_islower、u_isspace、u_ispunctなどの同等の ICU API の使用を検討してください。 Windows での ICU API の使用に関するガイダンスについては、「Windowsでの ICU の概要」を参照してください。
指定した Unicode ソース文字列内の文字の文字型情報を取得します。 この関数は、文字列内の文字ごとに、出力配列の対応する 16 ビット要素に 1 つ以上のビットを設定します。 各ビットは、文字、数字、またはどちらも、特定の文字の種類を識別します。
構文
BOOL GetStringTypeW(
[in] DWORD dwInfoType,
[in] _In_NLS_string_(cchSrc)LPCWCH lpSrcStr,
[in] int cchSrc,
[out] LPWORD lpCharType
);
パラメーター
[in] dwInfoType
取得する文字型情報を指定するフラグ。 このパラメーターには、次の値を指定できます。 「解説」セクションの説明に従って、文字の種類は異なるレベルに分けられます。
旗 | 意味 |
---|---|
|
文字型情報を取得します。 |
|
双方向レイアウト情報を取得します。 |
|
テキスト処理情報を取得します。 |
[in] lpSrcStr
文字型を取得する Unicode 文字列へのポインター。 cchSrc が負の値
[in] cchSrc
lpSrcStrで示される文字列のサイズ (文字単位)。 サイズに終端の null 文字が含まれている場合、関数はその文字の文字型情報を取得します。 アプリケーションでサイズを負の整数に設定した場合、ソース文字列は null で終わると見なされ、関数は null 終端の追加文字を使用してサイズを自動的に計算します。
[out] lpCharType
16 ビット値の配列へのポインター。 この配列の長さは、ソース文字列内の文字ごとに 1 つの 16 ビット値を受け取るのに十分な大きさである必要があります。 cchSrc
戻り値
成功した場合は 0 以外の値を返し、それ以外の場合は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError
- ERROR_INVALID_FLAGS。 フラグに指定された値が無効でした。
- ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効でした。
備考
文字列関数の使用の概要については、「文字列の
lpSrcStr パラメーターと lpCharType パラメーターの値は同じにすることはできません。 同じ場合、関数はERROR_INVALID_PARAMETERで失敗します。
対応する GetStringTypeA 関数で使用される Locale パラメーターは、この関数では使用されません。 パラメーターの違いにより、アプリケーションは、#define UNICODE スイッチを使用して、GetStringType* 関数の適切な ANSI または Unicode バージョンを自動的に呼び出すことはできません。 アプリケーションでは、推奨される関数である GetStringTypeEx
サポートされている文字型
文字型ビットは複数のレベルに分割されます。 1 つのレベルの情報は、この関数を 1 回呼び出すことで取得できます。 各レベルは 16 ビットの情報に制限されているため、1 文字あたり 16 ビットの表現に制限されている他のマッピング関数も文字型情報を返すことができます。
Ctype 1
これらの型は、ANSI C および POSIX (LC_CTYPE) 文字型指定関数をサポートします。 dwInfoType が CT_CTYPE1 に設定されている場合、これらの値のビットごとの OR が出力バッファーの配列
名前 | 価値 | 意味 |
---|---|---|
C1_UPPER | 0x0001 | 大文字 |
C1_LOWER | 0x0002 | 小文字 |
C1_DIGIT | 0x0004 | 桁 |
C1_SPACE | 0x0008 | 空白文字 |
C1_PUNCT | 0x0010 | 句読点 |
C1_CNTRL | 0x0020 | 制御文字 |
C1_BLANK | 0x0040 | 空白文字 |
C1_XDIGIT | 0x0080 | 16 進数 |
C1_ALPHA | 0x0100 | 任意の言語文字: アルファベット、音節、または表意文字 |
C1_DEFINED | 0x0200 | 定義された文字ですが、他のC1_* 型の 1 つではありません |
次の文字型は定数型または基本型から計算可能であり、この関数でサポートされている必要はありません。
種類 | 形容 |
---|---|
英数字 | アルファベット文字と数字 (C1_ALPHAとC1_DIGIT) |
印刷 | グラフィック文字と空白 (C1_CNTRLを除くすべてのC1_* 型) |
Ctype 2
これらの型は、Unicode テキストの適切なレイアウトをサポートします。 DBCS ロケールの場合、文字タイプは、ナロー文字とワイド文字の両方に適用されます。 方向属性が割り当てられ、Unicode によって標準化された双方向レイアウト アルゴリズムによって正確な結果が生成されます。 これらの型は相互に排他的です。 これらの属性の使用方法の詳細については、「Unicode 標準」を参照してください。
名前 | 価値 | 意味 |
---|---|---|
強い | ||
C2_LEFTTORIGHT | 0x0001 | 左から右へ |
C2_RIGHTTOLEFT | 0x0002 | 右から左へ |
弱い | ||
C2_EUROPENUMBER | 0x0003 | ヨーロッパ数字、ヨーロッパ数字 |
C2_EUROPESEPARATOR | 0x0004 | ヨーロッパの数値区切り記号 |
C2_EUROPETERMINATOR | 0x0005 | ヨーロッパの数値ターミネータ |
C2_ARABICNUMBER | 0x0006 | アラビア数字 |
C2_COMMONSEPARATOR | 0x0007 | 一般的な数値区切り記号 |
ニュートラル | ||
C2_BLOCKSEPARATOR | 0x0008 | ブロック区切り記号 |
C2_SEGMENTSEPARATOR | 0x0009 | セグメント区切り記号 |
C2_WHITESPACE | 0x000A | 空白 |
C2_OTHERNEUTRAL | 0x000B | その他のニュートラル |
該当なし | ||
C2_NOTAPPLICABLE | 0x0000 | 暗黙的な方向なし (制御コードなど) |
Ctype 3
これらの型は、一般的なテキスト処理または標準の C ライブラリ関数に必要な POSIX 型の拡張のためのプレースホルダーです。 dwInfoType が CT_CTYPE3 に設定されている場合、これらの値
名前 | 価値 | 意味 |
---|---|---|
C3_NONSPACING | 0x0001 | 非パッチ マーク |
C3_DIACRITIC | 0x0002 | Diacritic nonspacing mark |
C3_VOWELMARK | 0x0004 | Vowel nonspacing mark |
C3_SYMBOL | 0x0008 | 記号 |
C3_KATAKANA | 0x0010 | カタカナ文字 |
C3_HIRAGANA | 0x0020 | ひらがな文字 |
C3_HALFWIDTH | 0x0040 | 半角 (狭い) 文字 |
C3_FULLWIDTH | 0x0080 | 全角 (ワイド) 文字 |
C3_IDEOGRAPH | 0x0100 | 表意文字 |
C3_KASHIDA | 0x0200 | アラビア語の樫田文字 |
C3_LEXICAL | 0x0400 | 単語の一部としてカウントされる句読点 (kashida、ハイフン、女性/男性形の序数インジケーター、等号など) |
C3_ALPHA | 0x8000 | すべての言語文字 (アルファベット、音節、および表意) |
C3_HIGHSURROGATE | 0x0800 | Windows Vista: High サロゲート コード ユニット |
C3_LOWSURROGATE | 0x1000 | Windows Vista: 低サロゲート コード ユニット |
該当なし | ||
C3_NOTAPPLICABLE | 0x0000 | 該当なし |
C3_HIGHSURROGATEとC3_LOWSURROGATEは完全性のみを目的として一覧表示され、この関数には指定しないでください。 これらは Unicode にのみ関連します。
Windows 8 以降: GetStringTypeW は Stringapiset.h で宣言されています。 Windows 8 より前は、Winnls.h で宣言されていました。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | stringapiset.h (Windows.h を含む) |
ライブラリ | Kernel32.lib |
DLL | Kernel32.dll |
関連項目
GetStringTypeA を
GetStringTypeEx の