RxCreateSrvOpen 函数 (fcb.h)
RxCreateSrvOpen 分配、初始化新SRV_OPEN结构并将其插入 RDBSS 使用的内存中数据结构。 如果必须分配新结构,则它具有 FOBX 结构的空间。
语法
PSRV_OPEN RxCreateSrvOpen(
[in] IN PV_NET_ROOT VNetRoot,
[in, out] IN OUT PFCB Fcb
);
参数
[in] VNetRoot
指向V_NET_ROOT结构的指针。
[in, out] Fcb
指向关联的 FCB 结构的指针。
返回值
RxCreateSrvOpen 在成功时返回指向新创建的SRV_OPEN数据结构的指针,或者在失败时返回 NULL 指针。
言论
RxCreateSrvOpen 例程通常不是由网络微型重定向程序驱动程序直接调用的。 RDBSS 在收到IRP_MJ_CREATE的 I/O 请求数据包且需要创建SRV_OPEN时,会在内部调用此例程。 RDBSS 通常会接收此 IRP,以响应请求在网络共享上执行文件创建作的用户模式应用程序。 另一个内核驱动程序也可以发出此类 IRP。
在调用 RxCreateSrvOpen之前,必须以独占模式获取关联的 FCB 结构的锁。
RxCreateSrvOpen 将尝试并使用分配的SRV_CALL作为关联的 FCB 结构的一部分(如果可用)。 如果与 FCB 一起分配的SRV_CALL不可用,RxCreateSrvOpen 将分配新的SRV_CALL结构。
如果关联的 FCB 是分页文件,RxCreateSrvOpen 创建新的SRV_OPEN数据结构时分配非分页池内存。 如果关联的 FCB 不是分页文件,RxCreateSrvOpen 创建新的SRV_OPEN数据结构时分配分页池内存。
Windows 当前不允许在远程计算机上创建分页文件。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | fcb.h (包括 Mrxfcb.h、Fcb.h) |
IRQL | <= APC_LEVEL |