RxCreateNetFcb 函数 (fcb.h)
RxCreateNetFCB 分配、初始化并将新的 FCB 结构插入内存中数据结构,以便打开此 FCB 的V_NET_ROOT。 分配的结构具有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 例程通常不是由网络微型重定向程序驱动程序直接调用的。 当收到 I/O 请求数据包以IRP_MJ_CREATE和需要创建 FCB 结构时,RDBSS 会在内部调用此例程。 RDBSS 通常会接收此 IRP,以响应请求在网络共享上执行文件创建作的用户模式应用程序。 另一个内核驱动程序也可以发出此类 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 |