RtlFindUnicodePrefix 関数 (ntifs.h)

RtlFindUnicodePrefix ルーチンは、プレフィックス テーブル内の特定の Unicode ファイル名に対して最適な一致を検索します。

構文

NTSYSAPI PUNICODE_PREFIX_TABLE_ENTRY RtlFindUnicodePrefix(
  [in] PUNICODE_PREFIX_TABLE PrefixTable,
  [in] PCUNICODE_STRING      FullName,
  [in] ULONG                 CaseInsensitiveIndex
);

パラメーター

[in] PrefixTable

プレフィックス テーブルへのポインター。 テーブルは 、RtlInitializeUnicodePrefix を呼び出して初期化されている必要があります。

[in] FullName

ファイルの完全なパス名を含む Unicode 文字列へのポインター。

[in] CaseInsensitiveIndex

比較で大文字と小文字が区別されないファイル名とプレフィックス文字列内の位置。 文字列の比較では、各文字列の最初の CaseInsensitiveIndex 文字では大文字と小文字が区別され、文字列の残りの部分では大文字と小文字は区別されません。

意味
0 文字列比較では大文字と小文字が区別されません。
1..FullName.Length-1 文字列比較は、0 から CaseInsensitiveIndex-1 の位置にある文字では大文字と小文字が区別され、 CaseInsensitiveIndex の位置から文字列の末尾までの文字では大文字と小文字は区別されません。
FullName.Length 文字列比較では大文字と小文字が区別されます。

戻り値

RtlFindUnicodePrefix は、 FullName で指定された文字列に対して見つかった最も長い適切なプレフィックスへのポインターを返します。 一致するプレフィックスが見つからない場合、 RtlFindUnicodePrefixNULL を返します。

注釈

テーブル内の各プレフィックス エントリは、ファイル システム ボリュームのルート ディレクトリに対する相対パス名です。 整形式にするには、プレフィックスは 1 つの円記号 () で始まる必要があります。

一致するプレフィックスが見つかると、 RtlFindUnicodePrefix によってプレフィックス テーブルの表示ツリーが再調整されます。

ファイル システムでは、他の Rtl を使用する前にプレフィックス テーブルを初期化するために RtlInitializeUnicodePrefix を呼び出す必要があります 。UnicodePrefix ルーチン。 初期化されたプレフィックス テーブル構造は不透明と見なす必要があります。

Rtl の呼び出し元 。.UnicodePrefix ルーチンは、プレフィックス テーブルへのアクセスを同期する役割を担います。 高速ミューテックスは、この目的で使用する最も効率的な同期メカニズムです。

その他の文字列処理ルーチンの詳細については、「 ランタイム ライブラリ (RTL) ルーチン」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP
サポートされている最小のサーバー Windows Server 2003
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL

こちらもご覧ください

RtlInitializeUnicodePrefix

RtlInsertUnicodePrefix

RtlNextUnicodePrefix

RtlRemoveUnicodePrefix

UNICODE_STRING