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 指针。

注解

RDBSS 在内部使用此例程来响应 MUP 的调用,以声明名称或形成NET_ROOT或V_NET_ROOT结构的创建路径。 只要在访问表之前获取适当的锁, RxPrefixTableLookupName 例程也可以由网络微型重定向程序使用,并在工作完成后释放锁。 驱动程序的正常使用如下所示:

  • 通过调用 RxpAcquirePrefixTableLockShared 获取共享锁。
  • 通过调用 RxPrefixTableLookupName 查找名称。
  • 通过调用 RxpReleasePrefixTableLock 释放共享锁。
请注意,如果找到匹配项,则发现节点上的引用计数将递增。

在检查的生成时,如果 CanonicalName 字符串的长度不大于零,则 RxPrefixTableLookupName 会导致系统断言。

要求

   
目标平台 桌面
Header prefix.h (include Prefix.h)
IRQL <= APC_LEVEL

另请参阅

RxpAcquirePrefixTableLockExclusive

RxpAcquirePrefixTableLockShared

RxpReleasePrefixTableLock