RxCreateNetFcb 函数 (fcb.h)

RxCreateNetFCB 为打开此 FCB 的V_NET_ROOT分配、初始化新的 FCB 结构并将其插入内存中数据结构。 分配的结构具有用于SRV_OPEN和 FOBX 结构的空间。

语法

PFCB RxCreateNetFcb(
  [in] IN PRX_CONTEXT     RxContext,
  [in] IN PIRP            Irp,
  [in] IN PV_NET_ROOT     VNetRoot,
  [in] IN PUNICODE_STRING Name
);

参数

[in] RxContext

指向描述创建操作的RX_CONTEXT结构的指针。

[in] Irp

指向此RX_CONTEXT结构封装的 IRP 的指针。

[in] VNetRoot

指向打开此 FCB 的V_NET_ROOT结构的指针。

[in] Name

FCB 的名称。 V_NET_ROOT可能包含要在此处前面加上的名称前缀。

返回值

RxCreateNetFCB 在成功时返回指向新分配的 FCB 数据结构的指针,或在失败时返回 NULL 指针。

注解

网络微型重定向程序驱动程序通常不会直接调用 RxCreateNetFCB 例程。 当收到用于IRP_MJ_CREATE的 I/O 请求数据包并且需要创建 FCB 结构时,RDBSS 会在内部调用此例程。 此 IRP 通常由 RDBSS 接收,以响应请求对网络共享执行文件创建操作的用户模式应用程序。 另一个内核驱动程序也可以发出这样的 IRP。

如果要创建的 FCB 是分页文件, 则 RxCreateNetFCB 在创建新的 FCB 数据结构时分配非分页池内存,并在 FCB 的 FcbState 成员中设置以下标志:

如果要创建的 FCB 不是分页文件, 则 RxCreateNetFCB 在创建新的 FCB 数据结构时分配分页池内存。

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

如果RX_CONTEXT中的 Create.Flags 成员具有RX_CONTEXT_CREATE_FLAG_ADDEDBACKSLASH标志,则 FCB 的 FcbState 成员已设置FCB_STATE_ADDEDBACKSLASH标志。

要求

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

另请参阅

RX_CONTEXT

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvCall

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

FCB 结构

V_NET_ROOT 结构