CompareStringOrdinal

2 つの Unicode 文字列を比較してバイナリの等価性を検査する。

CompareStringOrdinal lpString1, cchCount1, lpString2, cchCount2, bIgnoreCase

lpString1 : [wstr] 比較する 1 つ目の文字列へのポインタ。
cchCount1 : [int] lpString1 が示す文字列の長さ。文字列が null 終端の場合、アプリケーションは -1 を指定する。その場合、関数が長さを自動的に決定する。
lpString2 : [wstr] 比較する 2 つ目の文字列へのポインタ。
cchCount2 : [int] lpString2 が示す文字列の長さ。文字列が null 終端の場合、アプリケーションは -1 を指定する。その場合、関数が長さを自動的に決定する。
bIgnoreCase : [int] 関数が大文字小文字を無視する比較を実行する場合は TRUE。OS の大文字テーブル情報が使われる。関数が渡された文字列をそのまま厳密に比較する場合、アプリケーションはこのパラメータを FALSE に設定する。なお、この論理型パラメータに真の値を指定できる唯一の数値は 1 であり、他の値では無効なパラメータエラーになる。論理値は期待どおりに動作する。

(プラグイン / モジュール : kernel32.dll)

解説

2 つの Unicode 文字列を比較してバイナリの等価性を検査する。

[戻り値]
成功した場合は以下の値のいずれかを返す。C ランタイムの文字列比較慣習を維持するため、ゼロ以外の戻り値から 2
を引くことができる。そうすると <0、==0、>0 の意味が C ランタイムと一致する。
(以下省略)

[備考]
この関数は言語的な等価性ではなくバイナリの等価性を検査する。序数ソートにおけるこの関数の使い方については、Handling Sorting
in Your Applications
を参照。言語的な等価性が必要なアプリケーションは、CompareString、CompareStringEx、lstrcmp、lstrcmpi
を使うべきである。言語的ソートの詳細は Handling Sorting in Your Applications を参照。
Windows 8 以降: CompareStringOrdinal は Stringapiset.h で宣言されている。Windows
8 より前では Winnls.h で宣言されていた。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs