IsDBCSLeadByteEx 関数 (winnls.h)

指定した文字が潜在バイトである可能性があるかどうかを判断します。 先頭バイトは、コード・ページの 2 バイト文字セット (DBCS) 内 の 2 バイト文字 の最初のバイトです。

構文

BOOL IsDBCSLeadByteEx(
  [in] UINT CodePage,
  [in] BYTE TestChar
);

パラメーター

[in] CodePage

リード バイト範囲をチェックするために使用されるコード ページの識別子。 このパラメーターには、 Unicode および文字セット定数 で定義されているコード ページ識別子のいずれか、または次の定義済みの値のいずれかを指定できます。 この関数は、コード ページ 932、936、949、950、1361 でのみリード バイト値を検証します。

意味
CP_ACP
システムの既定の Windows ANSI コード ページを使用します。
CP_MACCP
システムの既定の Macintosh コード ページを使用します。
CP_OEMCP
システムの既定の OEM コード ページを使用します。
CP_THREAD_ACP
現在のスレッドの Windows ANSI コード ページを使用します。

[in] TestChar

テスト対象の文字。

戻り値

バイトが先行バイトの場合は、0 以外の値を返します。 バイトが先頭バイトでない場合、または文字が 1 バイト文字の場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。

注釈

メモ この関数は、証跡バイトの存在または有効性を検証しません。 したがって、MultiByteToWideChar は、IsDBCSLeadByte を使用するアプリケーションがリード バイトとして報告するシーケンスを認識しない可能性があります。 アプリケーションは MultiByteToWideChar の結果と簡単に同期されなくなり、予期しないエラーやバッファー サイズの不一致につながる可能性があります。
 
一般に、コード ページ データを低レベルで操作する代わりに、アプリケーションでは MultiByteToWideChar を 使用してデータを UTF-16 に変換し、そのエンコードで操作する必要があります。

リード バイト値は、個別の各 DBCS に固有です。 一部のバイト値は、DBCS 文字の先頭バイトと後続バイトの両方として 1 つのコード・ページに表示されます。 したがって、 IsDBCSLeadByteEx は潜在的なリード バイト値のみを示すことができます。

DBCS 文字列を理解するために、通常、アプリケーションは文字列の先頭から開始し、前方にスキャンし、先行バイトが検出されたときに追跡し、次のバイトを同じ文字の末尾部分として扱います。 バックアップするには、アプリケーションで独自のアルゴリズムを開発するのではなく 、CharPrevExA を使用する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー winnls.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

MultiByteToWideChar

Unicode および文字セット関数

Unicode と文字セット

WideCharToMultiByte