指定した文字がシステム既定の Windows ANSI コードページ (CP_ACP) でリード バイトとなるかを判定する。リード バイトとは、コードページのダブルバイト文字セット (DBCS) において 2 バイト文字の先頭バイトである。
IsDBCSLeadByte TestChar
TestChar : [int] テストする文字。
(プラグイン / モジュール : kernel32.dll)
指定した文字がシステム既定の Windows ANSI コードページ (CP_ACP) でリード バイトとなるかを判定する。リード バイトとは、コードページのダブルバイト文字セット (DBCS) において 2 バイト文字の先頭バイトである。 [戻り値] テスト文字がリード バイトになりうる場合は 0 以外の値を返す。リード バイトでない、または 1 バイト文字の場合は 0 を返す。拡張エラー情報を取得するには、アプリケーションから GetLastError を呼ぶ。 [備考] 注意: この関数はトレール バイトの存在や有効性を検証しない。そのため、IsDBCSLeadByte を使うアプリケーションがリード バイトとして報告したシーケンスを MultiByteToWideChar が認識しないことがある。アプリケーションは MultiByteToWideChar の結果と容易にずれてしまい、予期しないエラーやバッファサイズ不一致の原因となりうる。一般的には、コードページ データの低レベル操作を試みる代わりに、アプリケーションは MultiByteToWideChar でデータを UTF-16 に変換しそのエンコーディングで処理するべきである。リード バイト値は DBCS ごとに固有である。同じコードページ内で、ある 1 バイト値が DBCS 文字のリード バイトにもトレール バイトにもなることがある。DBCS 文字列を正しく解釈するには、アプリケーションは通常文字列の先頭から前方にスキャンし、リード バイトを見つけたら次のバイトを同じ文字の末尾として扱う。戻る必要がある場合は、自前のアルゴリズムを作らず CharPrev を使うべきである。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |