共用方式為


MRxLowIOSubmit[LOWIO_OP_FSCTL] 例程

RDBSS 會呼叫 MRxLowIOSubmit[LOWIO_OP_FSCTL] 例程,要求網路迷你重新導向器發出遠端檔案上的文件系統控制要求。

語法

PMRX_CALLDOWN MRxLowIOSubmit[LOWIO_OP_FSCTL];

NTSTATUS MRxLowIOSubmit[LOWIO_OP_FSCTL](
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

參數

RxContext [in, out]
RX_CONTEXT 結構的指標。 此參數包含要求作業的 IRP。

傳回值

MRxLowIOSubmit[LOWIO_OP_FSCTL] 會在成功或適當的 NTSTATUS 值上傳回STATUS_SUCCESS,例如下列其中一項:

傳回碼 Description
STATUS_CONNECTION_DISCONNECTED

線上已中斷連線。

STATUS_INSUFFICIENT_RESOURCES

資源不足,無法完成要求。

STATUS_INVALID_DEVICE_REQUEST

指定了無效的裝置要求。

STATUS_INVALID_NETWORK_RESPONSE

從遠端伺服器收到無效的回應。

STATUS_INVALID_PARAMETER

RxContext 中指定了無效的參數。

STATUS_LINK_FAILED

嘗試重新連線到遠端伺服器以完成要求失敗。

STATUS_NOT_IMPLEMENTED

此例程未實作。

STATUS_NOT_SUPPORTED

網路迷你重新導向器不支援指定的 FSCTL。

STATUS_UNSUCCESSFUL

話叫失敗。

備註

RDBSS 會呼叫 MRxLowIOSubmit[LOWIO_OP_FSCTL] 以回應接收 IRP_MJ_FILE_SYSTEM_CONTROL 要求。

呼叫 MRxLowIOSubmit[LOWIO_OP_FSCTL]之前,RDBSS 會修改 RxContext 參數所指向之RX_CONTEXT結構中的下列成員:

LowIoContext.Operation 成員會設定為 LOWIO_OP_FSCTL。

LowIoContext.ResourceThreadId 成員會設定為在 RDBSS 中起始作業的進程線程。

LowIoContext.ParamsFor.FsCtl.FsControlCode 成員會設定為 FSCTL 主要控制項程式代碼。

LowIoContext.ParamsFor.FsCtl.MinorFunction 成員會設定為 FSCTL 次要控件程式代碼。

LowIoContext.ParamsFor.FsCtl.pInputBuffer 成員會設定為輸入緩衝區。

LowIoContext.ParamsFor.FsCtl.InputBufferLength 成員會設定為輸入緩衝區長度。

LowIoContext.ParamsFor.FsCtl.pOutputBuffer 成員會設定為輸出緩衝區。

LowIoContext.ParamsFor.FsCtl.OutputBufferLength 成員會設定為輸出緩衝區長度。

檔案系統控制程式代碼 (FSCTL) 網路迷你重新導向器所處理的要求,可以分類為數個類別之一:

  • RDBSS 和網路迷你重新導向器所實作和使用之 FSCTL

  • 僅由網路迷你重新導向器實作及使用的 FSCTL

  • 網路迷你重新導向器不應該看到的 FSCTL。 這些 FSCTL 僅供偵錯輔助之用。

雖然 MRxLowIOSubmit[LOWIO_OP_FSCTL] 例程正在處理,但RX_CONTEXT的 LowIoContext.ResourceThreadId 成員保證會指出在 RDBSS 中起始作業的進程線程。 RX_CONTEXT的 LowIoContext.ResourceThreadId 成員可用來代表另一個線程釋放輸入資源。 異步例程完成時,可以從初始線程取得的輸入資源釋放。

規格需求

目標平台

桌面

標頭

Mrx.h (包含 Mrx.h)

另請參閱

MRxLowIOSubmit[LOWIO_OP_EXCLUSIVELOCK]

MRxLowIOSubmit[LOWIO_OP_IOCTL]

MRxLowIOSubmit[LOWIO_OP_NOTIFY_CHANGE_DIRECTORY]

MRxLowIOSubmit[LOWIO_OP_READ]

MRxLowIOSubmit[LOWIO_OP_SHAREDLOCK]

MRxLowIOSubmit[LOWIO_OP_UNLOCK]

MRxLowIOSubmit[LOWIO_OP_UNLOCK_MULTIPLE]

MRxLowIOSubmit[LOWIO_OP_WRITE]