共用方式為


MRxStop 例程

RDBSS 會呼叫MRxStop 例程來停止網路迷你重新導向器。

語法

PMRX_CALLDOWN_CTX MRxStop;

NTSTATUS MRxStop(
  _Inout_ PRX_CONTEXT          RxContext,
  _Inout_ PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{ ... }

參數

RxContext [in, out]
RX_CONTEXT 結構的指標。 此參數包含要求網路迷你重新導向器停止的 IRP。

RxDeviceObject [in, out]
此網路迷你重新導向器的RDBSS_DEVICE_OBJECT結構的指標。

傳回值

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

傳回碼 Description
STATUS_REDIRECTOR_HAS_OPEN_HANDLES

網路迷你重新導向器有開啟的句柄,防止它目前停止。

STATUS_REDIRECTOR_NOT_STARTED

網路迷你重新導向器未啟動。

備註

MRxStop 會從 RDBSS 的觀點停止和取消初始化網路迷你重新導向器。 停止網路迷你重新導向器可能需要釋放記憶體配置和其他系統資源。

呼叫 MRxStop 之前,RDBSS 會修改下列值:

RxContext 所指向之RX_CONTEXT結構中的 MajorFunction 成員會設定為 IRP 的主要函式。

如果這是用來停止網路迷你重新導向器的 FSTCL 要求,則 RxContext 所指向之RX_CONTEXT結構的 LowIoContext.ParamsFor.FsCCtl.FsCCode 成員會設定為 IRP 的 FSCTL 程式代碼。

RxDeviceObject 所指向之RDBSS_DEVICE_OBJECT結構的 StartStopContext.State 成員會設定為 RDBSS_STOP_IN_PROGRESS

RxDeviceObject 所指向之RDBSS_DEVICE_OBJECT結構的 StartStopContext.pStopContext 成員會設定為 RxContext 參數。

MRxStop 是由 RDBSS 從 RxStopMinirdr 例程呼叫。

如果 MRxStop 傳回STATUS_SUCCESS,則例程成功。 任何其他傳回值表示停止網路迷你重新導向器時發生錯誤。

如果 MRxStop 傳回STATUS_SUCCESS,RDBSS 會將 RDBSS 的狀態設定為RDBSS_STARTABLE。 此狀態會儲存在 RxDeviceObject 所指向之RDBSS_DEVICE_OBJECT結構的 StartStopContext.State 成員中。

網路迷你重新導向器通常會維護內部變數,指出是否已啟動網路迷你重新導向器。 例如,網路迷你重新導向器可能會追蹤何時停止、啟動,以及啟動作業或停止作業正在進行時。

規格需求

目標平台

桌面

標頭

Mrx.h (包含 Mrx.h)

另請參閱

MRxDevFcbXXXControlFile

MrxStart

RxStopMinirdr