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) |