非言語的な比較のために Unicode 文字列(ワイド文字)を別の Unicode 文字列内で検索する。
FindStringOrdinal dwFindStringOrdinalFlags, lpStringSource, cchSource, lpStringValue, cchValue, bIgnoreCase
dwFindStringOrdinalFlags : [int] 検索操作の詳細を指定するフラグ。これらのフラグは互いに排他的で、FIND_FROMSTART がデフォルトである。アプリケーションは検索フラグの 1 つだけを指定できる。 lpStringSource : [wstr] lpStringValue で指定された文字列を関数が検索する対象のソース文字列へのポインタ。 cchSource : [int] lpStringSource が指す文字列のサイズ(終端 NULL 文字を除く文字数)。アプリケーションは通常、正の数または 0 を指定する必要がある。ソース文字列が NULL 終端で関数がサイズを自動計算すべき場合、アプリケーションは -1 を指定できる。 lpStringValue : [wstr] 関数がソース文字列内で検索する検索文字列へのポインタ。 cchValue : [int] lpStringValue が指す文字列のサイズ(終端 NULL 文字を除く文字数)。アプリケーションは通常、正の数または 0 を指定する必要がある。文字列が NULL 終端で関数がサイズを自動計算すべき場合、アプリケーションは -1 を指定できる。 bIgnoreCase : [int] 関数が大文字小文字を区別しない比較を実行する場合は TRUE、それ以外の場合は FALSE。比較は言語的な操作ではなく、すべてのロケールや言語に適しているわけではない。動作は英語に対するものと類似している。
(プラグイン / モジュール : kernel32.dll)
非言語的な比較のために Unicode 文字列(ワイド文字)を別の Unicode 文字列内で検索する。 [戻り値] 成功した場合、lpStringSource が示すソース文字列内の 0 ベースのインデックスを返す。関数が成功した場合、見つかった文字列は lpStringValue の値と同じサイズである。戻り値 0 は、関数がソース文字列の先頭で一致を見つけたことを示す。関数が成功しなかったり検索文字列が見つからなかった場合、-1 を返す。拡張エラー情報を取得するには、アプリケーションは GetLastError を呼ぶことができ、次のいずれかのエラーコードを返すことがある。 (以下省略) [備考] FindStringOrdinal はバイナリ比較を提供するため、言語的に適切な結果を返さない。順序比較は英語のソート動作と誤認されることがある。ただし、文字が言語的に重要でない量だけ異なる場合に一致を見つけない。適切なソート関数の選択については Sorting を参照。失敗時に 0 を返す NLS 関数とは対照的に、この関数は失敗した場合 -1 を返す。成功した場合、0 ベースのインデックスを返す。このインデックスを使用すると、関数は off-by-one エラーや 1 文字バッファオーバーランを避けられる。この関数は、成功した場合でも SetLastError を呼び出す数少ない NLS 関数の 1 つである。検索文字列に一致しなかった場合に、スレッド内の最後のエラーをクリアするためにこの呼び出しを行う。これは GetLastError によって返される値をクリアする。Windows 8 以降: FindStringOrdinal は Libloaderapi.h で宣言されている。Windows 8 より前では Winnls.h で宣言されていた。
| プラグイン / モジュール | 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 |