MRxDevFcbXXXControlFile 例程

RDBSS 调用 MRxDevFcbXXXControlFile 例程,将设备 FCB 控制请求 (IOCTL 或 FSCTL 请求) 传递到网络微型重定向程序。

语法

PMRX_CALLDOWN MRxDevFcbXXXControlFile;

NTSTATUS MRxDevFcbXXXControlFile(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

参数

RxContext [in, out]
指向RX_CONTEXT 结构的指针。 此参数包含请求操作的 IRP。

返回值

MRxDevFcbXXXControlFile 在成功时返回STATUS_SUCCESS或相应的 NTSTATUS 值,例如以下值之一:

返回代码 说明
STATUS_ACCESS_DENIED

发出了停止或启动网络微型重定向程序的请求,但调用方对此操作缺乏适当的安全性。

STATUS_INVALID_DEVICE_REQUEST

向网络微型重定向程序发送了无效的设备请求。

STATUS_REDIRECTOR_HAS_OPEN_HANDLES

这是停止网络微型重定向程序的请求,但重定向程序具有打开的句柄,阻止它此时停止。

STATUS_REDIRECTOR_NOT_STARTED

这是停止网络微型重定向程序的请求,但未启动重定向程序。

STATUS_REDIRECTOR_STARTED

这是启动网络微型重定向程序的请求,但重定向程序已启动。

注解

MRxDevFcbXXXControlFile 处理与发送到网络微型重定向程序的设备 FCB 相关的 IOCTL 和 FSCTL 请求。

在调用 MRxDevFcbXXXControlFile 之前,RDBSS 修改 RxContext 参数指向的 RX_CONTEXT 结构中的以下成员:

MajorFunction 设置为 IRP 的主要函数

如果这是IRP_MJ_FILE_SYSTEM_CONTROL请求,则 RDBSS 修改 RxContext 参数指向的 RX_CONTEXT 结构中的以下成员:

LowIoContext.ParamsFor.FsCtl.MinorFunction 设置为 FSCTL 代码的次要函数代码

LowIoContext.ParamsFor.FsCtl.FsControlCode 设置为 IRP 的 FSCTL 代码

如果这是IRP_MJ_DEVICE_CONTROL或IRP_MJ_INTERNAL_DEVICE_CONTROL请求,则 RDBSS 修改 RxContext 参数指向的 RX_CONTEXT 结构中的以下成员:

LowIoContext.ParamsFor.FsCtl.FsControlCode 设置为 IRP 的控制代码。

如果 MRxDevFcbXXXControlFile 返回STATUS_SUCCESS,则表示例程成功。 任何其他返回值指示发生了错误。

要求

目标平台

桌面

标头

Mrx.h (包括 Mrx.h)

另请参阅

MRxStart

MRxStop