RxPrefixTableLookupName 関数 (prefix.h)
RxPrefixTableLookupName は、SRV_CALL、NET_ROOT、およびV_NET_ROOT名をカタログ化するために使用されるプレフィックス テーブル内の名前を検索し、基になるポインターを名前を含む構造体に変換します。
構文
PVOID RxPrefixTableLookupName(
[in] IN PRX_PREFIX_TABLE ThisTable,
[in] IN PUNICODE_STRING CanonicalName,
[out] OUT PUNICODE_STRING RemainingName,
IN PRX_CONNECTION_ID ConnectionId
);
パラメーター
[in] ThisTable
見るRX_PREFIX_TABLE構造体へのポインター。
[in] CanonicalName
検索する Unicode 文字列名へのポインター。
[out] RemainingName
一致しなかった名前の部分の Unicode 文字列名へのポインター。
ConnectionId
使用するRX_CONNECTION_IDへのポインターを表す省略可能なパラメーター。
戻り値
RxPrefixTableLookupName は、一致が見つかった場合に見つかったノードへのポインターを返します。 一致するものが見つからない場合、 RxPrefixTableLookupName は NULL ポインターを返します。
注釈
このルーチンは、MUP からの呼び出しに応じて RDBSS によって内部的に使用され、名前を要求するか、NET_ROOTまたはV_NET_ROOT構造体の作成パスを形成します。 RxPrefixTableLookupName ルーチンは、テーブルにアクセスする前に適切なロックが取得され、作業が完了したときにロックが解除されている限り、ネットワーク ミニ リダイレクターでも使用できます。 ドライバーによる通常の使用は次のようになります。
- RxpAcquirePrefixTableLockShared を呼び出して共有ロックを取得します。
- RxPrefixTableLookupName を呼び出して名前を検索します。
- RxpReleasePrefixTableLock を呼び出して、共有ロックを解放します。
チェックされたビルドでは、CanonicalName 文字列の長さが 0 より長くない場合、RxPrefixTableLookupName によってシステムが ASSERT されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | prefix.h (Prefix.h を含む) |
IRQL | <= APC_LEVEL |
こちらもご覧ください
RxpAcquirePrefixTableLockExclusive