FindStringOrdinal 関数 (libloaderapi.h)

言語以外の比較のために、別の Unicode 文字列内の Unicode 文字列 (ワイド文字) を検索します。

構文

int FindStringOrdinal(
  [in] DWORD   dwFindStringOrdinalFlags,
  [in] LPCWSTR lpStringSource,
  [in] int     cchSource,
  [in] LPCWSTR lpStringValue,
  [in] int     cchValue,
  [in] BOOL    bIgnoreCase
);

パラメーター

[in] dwFindStringOrdinalFlags

検索操作の詳細を指定するフラグ。 これらのフラグは相互に排他的であり、FIND_FROMSTARTが既定です。 アプリケーションでは、検索フラグの 1 つだけを指定できます。

意味
FIND_FROMSTART
文字列の最初の文字から始まる文字列を検索します。
FIND_FROMEND
文字列の最後の文字から始めて、文字列を逆方向に検索します。
FIND_STARTSWITH
lpStringValue で指定された値が lpStringSource で示されるソース文字列の最初の値であるかどうかを調べるテストを行います。
FIND_ENDSWITH
lpStringValue で指定された値が lpStringSource によって示されるソース文字列の最後の値であるかどうかを調べるテストします。

[in] lpStringSource

lpStringValue で指定された文字列を関数が検索するソース文字列へのポインター。

[in] cchSource

lpStringSource で示される文字列の終了 null 文字を除く文字単位のサイズ。 通常、アプリケーションでは正の数 (0) を指定する必要があります。 ソース文字列が null で終了し、関数がサイズを自動的に計算する必要がある場合、アプリケーションは -1 を指定できます。

[in] lpStringValue

関数がソース文字列内で検索する検索文字列へのポインター。

[in] cchValue

lpStringValue で示される文字列の、終端の null 文字を除く文字単位のサイズ。 通常、アプリケーションでは正の数 (0) を指定する必要があります。 文字列が null で終了し、関数がサイズを自動的に計算する必要がある場合、アプリケーションは -1 を指定できます。

[in] bIgnoreCase

関数 が大文字と小文字を区別しない比較を実行する場合は TRUE、それ以外の場合 は FALSE 。 比較は言語操作ではなく、すべてのロケールと言語に適しているわけではありません。 その動作は、英語の場合と似ています。

戻り値

成功した場合は lpStringSource によって示されるソース文字列に 0 から始まるインデックスを返します。 関数が成功した場合、見つかった文字列は lpStringValue の値と同じサイズになります。 戻り値 0 は、関数がソース文字列の先頭で一致するものを検出したことを示します。

関数が成功しない場合、または検索文字列が見つからない場合、関数は -1 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。これにより、次のいずれかのエラー コードが返されます。

  • ERROR_INVALID_FLAGS。 フラグに指定された値が無効でした。
  • ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。
  • ERROR_SUCCESS。 アクションは正常に完了しましたが、結果は得われませんでした。

注釈

FindStringOrdinal ではバイナリ比較が提供されるため、言語的に適切な結果は返されません。 序数比較は、英語の並べ替え動作と間違っている可能性があります。 ただし、文字が言語的に重要でない量によって異なる場合、一致は見つかりません。 適切な 並べ替え 関数の選択については、「並べ替え」を参照してください。

失敗した場合に 0 を返す NLS 関数とは対照的に、この関数は失敗した場合は -1 を返します。 成功すると、0 から始まるインデックスが返されます。 このインデックスを使用すると、関数が 1 つずつオフエラーや 1 文字のバッファー オーバーランを回避できます。

この関数は、成功した場合でも SetLastError を呼び出す数少ない NLS 関数の 1 つです。 この呼び出しは、検索文字列との一致に失敗したときにスレッドの最後のエラーをクリアします。 これにより、GetLastError によって返される値がクリアされます。

Windows 8以降: FindStringOrdinal は Libloaderapi.h で宣言されています。 Windows 8する前は、Winnls.h で宣言されていました。

要件

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

関連項目

FindNLSString

FindNLSStringEx

アプリケーションでの並べ替えの処理

各国語サポート

各国語サポート関数