CPINFOEXW 構造体 (winnls.h)
コード ページに関する情報が含まれます。 この構造体は、 GetCPInfoEx 関数によって使用されます。
構文
typedef struct _cpinfoexW {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
WCHAR UnicodeDefaultChar;
UINT CodePage;
WCHAR CodePageName[MAX_PATH];
} CPINFOEXW, *LPCPINFOEXW;
メンバー
MaxCharSize
コード ページ内の文字の最大長 (バイト単位)。 長さは、1 バイト文字セット (SBCS) の場合は 1、2 バイト文字セット (DBCS) の場合は 2、他の文字セット型の場合は 2 より大きい値にすることができます。 ISCII または ISO-2022-xx コード・ページの使用など、他の要因により、この関数はサイズを使用して SBCS または DBCS を他の文字セットと区別できません。
DefaultChar[MAX_DEFAULTCHAR]
文字列を特定のコード ページに変換するときに使用される既定の文字。 この文字は、明示的な既定の文字が指定されていない場合に WideCharToMultiByte 関数によって使用されます。 通常、既定値はコード ページの "?" 文字です。
LeadByte[MAX_LEADBYTES]
リード バイト範囲の数が可変である、リード バイト範囲の固定長配列。 コード ページにリード バイトがない場合、配列のすべての要素は NULL に設定されます。 コード ページにリード バイトがある場合、配列は各範囲の開始値と終了値を指定します。 範囲は包括的で、コード ページの範囲の最大数は 5 です。 配列は 2 バイトを使用して各範囲を記述し、最後の範囲の後に 2 つの null バイトをターミネータとして使用します。
UnicodeDefaultChar
特定のコード ページからの翻訳で使用される Unicode の既定の文字。 通常、既定値は "?" 文字またはカタカナの中間ドット文字です。 Unicode の既定の文字は、 MultiByteToWideChar 関数によって使用されます。
CodePage
コード ページの値。 この値は、 GetCPInfoEx 関数に渡されるコード ページを反映します。 ANSI およびその他 のコード ページの 一覧については、「コード ページ識別子」を参照してください。
CodePageName[MAX_PATH]
コード ページの完全な名前。 この名前はローカライズされており、オペレーティング システムのバージョンまたはコンピューター間の一意性や一貫性が保証されないことに注意してください。
解説
リード バイトは、256 文字を超える DBCS コード ページに固有です。 先頭バイトは、DBCS 内の 2 バイト文字の最初のバイトです。 各 DBCS コード・ページでは、リード・バイトはバイト値の特定の範囲を占有します。 この範囲は、コード ページごとに異なります。
リード バイト情報は、ほとんどのコード ページではあまり役に立ちません。また、UTF-8 や GB18030 など、多くのマルチバイト エンコードに対しても提供されていません。 アプリケーションでは、この情報を使用して MultiByteToWideChar または WideCharToMultiByte 関数が何を行うかを予測することはお勧めしません。 リード バイトの後のバイトが想定どおりでない場合、関数は既定の文字を使用するか、他の既定の動作を実行する可能性があります。
注意
winnls.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CPINFOEX を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
Header | winnls.h (Windows.h を含む) |