RxCreateNetRoot 函数 (fcb.h)
RxCreateNetRoot 分配和初始化NET_ROOT结构,并将名称插入关联设备对象的 net name 表中。
语法
PNET_ROOT RxCreateNetRoot(
[in] IN PSRV_CALL SrvCall,
[in] IN PUNICODE_STRING Name,
[in] IN ULONG NetRootFlags,
[in, optional] IN PRX_CONNECTION_ID RxConnectionId
);
参数
[in] SrvCall
指向关联SRV_CALL结构的指针。
[in] Name
指向名称表中要插入的名称的指针。
[in] NetRootFlags
用于设置 标志 NET_ROOT成员的值,用于表示NET_ROOT结构的状态。
[in, optional] RxConnectionId
指向要与要插入前缀名称表中的名称关联的连接 ID 的指针。 此参数可以 NULL 在这种情况下,不会将连接 ID 与前缀名称表中插入的名称相关联。
返回值
RxCreateNetRoot 在成功时返回指向新创建的NET_ROOT数据结构的指针或失败时 NULL 指针。
言论
RxCreateNetRoot 例程通常不是由网络微型重定向程序驱动程序直接调用的。 当收到IRP_MJ_CREATE的 I/O 请求数据包,并且需要创建NET_ROOT时,RDBSS 会在内部调用此例程。 RDBSS 通常会接收此 IRP,以响应请求在网络共享上执行文件创建作的用户模式应用程序。 另一个内核驱动程序也可以发出此类 IRP。
在调用 RxCreateNetRoot之前,必须以独占模式获取与 SrvCall 参数的设备对象成员关联的名称表上的锁。
NET_ROOT标志拆分为两个组,这些组对网络微型重定向程序可见,以及对网络微型重定向程序不可见的标志。 可见的标志 NET_ROOT成员 的低 16 位。 此例程不检查或测试正在设置的标志。
成功后,将递增SRV_CALL结构的引用计数。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | fcb.h (包括 Rxcontx.h、Mrxfcb.h、Prefix.h、Struchdr.h、Fcb.h) |
IRQL | <= APC_LEVEL |