CPINFOEXA 構造体 (winnls.h)

コード ページに関する情報が含まれます。 この構造体は 、GetCPInfoEx 関数によって使用されます。

構文

typedef struct _cpinfoexA {
  UINT  MaxCharSize;
  BYTE  DefaultChar[MAX_DEFAULTCHAR];
  BYTE  LeadByte[MAX_LEADBYTES];
  WCHAR UnicodeDefaultChar;
  UINT  CodePage;
  CHAR  CodePageName[MAX_PATH];
} CPINFOEXA, *LPCPINFOEXA;

メンバー

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 の既定の文字。 通常、既定値は "?" 文字またはカタカナの中央のドット文字です。 MultiByteToWideChar 関数では、Unicode の既定の文字が使用されます。

CodePage

コード ページの値。 この値は、 GetCPInfoEx 関数に渡されたコード ページを反映します。 ANSI およびその他 のコード ページの一覧については、「コード ページ識別子」を 参照してください。

CodePageName[MAX_PATH]

コード ページの完全な名前。 この名前はローカライズされており、オペレーティング システムのバージョンまたはコンピューター間の一意性や一貫性が保証されないことに注意してください。

解説

リード バイトは、256 文字を超える DBCS コード ページに固有です。 リード・バイトは、DBCS 内の 2 バイト文字の最初のバイトです。 各 DBCS コード・ページで、リード・バイトはバイト値の特定の範囲を占有します。 この範囲は、コード ページごとに異なります。

リード バイト情報は、ほとんどのコード ページではあまり役に立ちません。また、UTF-8 やGB18030など、多くのマルチバイト エンコーディングに対しても提供されません。 アプリケーションでは、この情報を使用して MultiByteToWideChar または WideCharToMultiByte 関数が何を行うかを予測することはお勧めしません。 リード バイトの後のバイトが想定どおりにでない場合、関数は既定の文字を使用するか、その他の既定の動作を実行する可能性があります。

注意

winnls.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CPINFOEX を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
Header winnls.h (Windows.h を含む)

関連項目

GetCPInfoEx

MultiByteToWideChar

各国語サポート構造

WideCharToMultiByte