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 会导致系统执行 ASSERT。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prefix.h (包括 Prefix.h) |
IRQL | <= APC_LEVEL |
另请参阅
RxpAcquirePrefixTableLockExclusive