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