Freigeben über


MRxStop-Routine

DieMRxStop-Routine wird von RDBSS aufgerufen, um den Netzwerk-Mini-Redirector zu beenden.

Syntax

PMRX_CALLDOWN_CTX MRxStop;

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

Parameter

RxContext [in, out]
Ein Zeiger auf die RX_CONTEXT-Struktur. Dieser Parameter enthält das IRP, das den Netzwerk-Mini-Redirector zum Beenden anfordert.

RxDeviceObject [in, out]
Ein Zeiger auf die RDBSS_DEVICE_OBJECT-Struktur für diesen Netzwerk-Miniumleitungsor.

Rückgabewert

MRxStop gibt STATUS_SUCCESS nach Erfolg oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:

Rückgabecode Beschreibung
STATUS_REDIRECTOR_HAS_OPEN_HANDLES

Der Netzwerkminiumleitungsor verfügt über geöffnete Handles, die verhindern, dass er zu diesem Zeitpunkt beendet wird.

STATUS_REDIRECTOR_NOT_STARTED

Der Netzwerk-Miniumleitungsor wurde nicht gestartet.

Hinweise

MRxStop beendet und initialisiert den Netzwerk-Mini-Redirector aus RDBSS-Perspektive. Das Beenden des Netzwerk-Miniumleitungs kann wahrscheinlich die Freigabe von Speicherbelegungen und anderen Systemressourcen erfordern.

Vor dem Aufrufen von MRxStop ändert RDBSS die folgenden Werte:

Der MajorFunction-Member in der RX_CONTEXT Struktur, auf die RxContext verweist, wird auf die Hauptfunktion des IRP festgelegt.

Der LowIoContext.ParamsFor.FsCtl.FsControlCode-Member in der RX_CONTEXT-Struktur, auf die von RxContext verwiesen wird, wird auf den FSCTL-Code für das IRP festgelegt, wenn dies eine FSTCL-Anforderung war, die zum Beenden des Netzwerk-Miniumleitungsmoduls verwendet wurde.

Der StartStopContext.State-Member der RDBSS_DEVICE_OBJECT-Struktur, auf die RxDeviceObject verweist, wird auf RDBSS_STOP_IN_PROGRESS

Der StartStopContext.pStopContext-Member der RDBSS_DEVICE_OBJECT-Struktur, auf die von RxDeviceObject verwiesen wird, wird auf den RxContext-Parameter festgelegt.

MRxStop wird von RDBSS aus der RxStopMinirdr-Routine aufgerufen.

Wenn MRxStop STATUS_SUCCESS zurückgibt, war die Routine erfolgreich. Jeder andere Rückgabewert gibt an, dass beim Beenden des Netzwerk-Mini-Redirectors ein Fehler aufgetreten ist.

Wenn MRxStop STATUS_SUCCESS zurückgibt, legt RDBSS den Zustand von RDBSS auf RDBSS_STARTABLE fest. Dieser Zustand wird im StartStopContext.State-Element der RDBSS_DEVICE_OBJECT-Struktur gespeichert, auf die RxDeviceObject verweist.

Ein Netzwerk-Mini-Redirector verwaltet normalerweise eine interne Variable, die angibt, ob der Netzwerkminiumleitungsor gestartet wird. Beispielsweise kann ein Netzwerkminiumleitungs-Redirector nachverfolgen, wann er beendet, gestartet wird und wann ein Start- oder Beendigungsvorgang ausgeführt wird.

Anforderungen

Zielplattform

Desktop

Header

Mrx.h (einschließlich Mrx.h)

Weitere Informationen

MRxDevFcbXXXControlFile

MrxStart

RxStopMinirdr