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 例程。 当收到用于IRP_MJ_CREATE的 I/O 请求数据包并且需要创建SRV_OPEN时,RDBSS 会在内部调用此例程。 此 IRP 通常由 RDBSS 接收,以响应请求对网络共享执行文件创建操作的用户模式应用程序。 另一个内核驱动程序也可以发出这样的 IRP。

在调用 RxCreateSrvOpen 之前,必须在独占模式下获取关联 FCB 结构的锁。

RxCreateSrvOpen 将尝试使用分配为关联 FCB 结构的一部分(如果可用)的SRV_CALL。 如果使用 FCB 分配的SRV_CALL不可用,则 RxCreateSrvOpen 将分配新的SRV_CALL结构。

如果关联的 FCB 是分页文件, 则 RxCreateSrvOpen 在创建新的SRV_OPEN数据结构时分配非分页池内存。 如果关联的 FCB 不是分页文件, 则 RxCreateSrvOpen 在创建新的SRV_OPEN数据结构时分配分页池内存。

Windows 当前不允许在远程计算机上拥有分页文件。

要求

要求
目标平台 桌面
标头 fcb.h (包括 Mrxfcb.h、Fcb.h)
IRQL <= APC_LEVEL

另请参阅

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

FCB 结构

SRV_OPEN 结构

V_NET_ROOT 结构