PMRX_CALLDOWN_CTX Rückruffunktion (mrx.h)
Die MRxStart-Routine wird von RDBSS aufgerufen, um den Netzwerk-Mini-Redirector zu starten.
Syntax
PMRX_CALLDOWN_CTX PmrxCalldownCtx;
NTSTATUS PmrxCalldownCtx(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in, out] IN OUT PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{...}
Parameter
[in, out] RxContext
Ein Zeiger auf die RX_CONTEXT-Struktur. Dieser Parameter enthält die IRP, die den Start des Netzwerkminiumleitungs-Umleitungscomputers angefordert hat.
[in, out] RxDeviceObject
Ein Zeiger auf die RDBSS_DEVICE_OBJECT-Struktur für diesen Netzwerk-Miniumleitungsor.
Rückgabewert
MRxStart gibt STATUS_SUCCESS nach Erfolg oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
STATUS_REDIRECTOR_STARTED | Der Netzwerk-Mini-Redirector wurde bereits gestartet. |
STATUS_UNSUCCESSFUL | Der Netzwerk-Miniumleitung konnte nicht erfolgreich gestartet werden. |
Hinweise
MRxStart schließt die Initialisierung des Netzwerkmini-Redirectors aus RDBSS-Perspektive ab. Beachten Sie, dass sich dies von der Initialisierung in der DriverEntry-Routine unterscheidet. Jede von RDBSS abhängige Initialisierung sollte im Rahmen dieser Routine durchgeführt werden, während die von RDBSS unabhängige Initialisierung in der DriverEntry-Routine erfolgen sollte.
Vor dem Aufrufen von MRxStart ändert RDBSS die folgenden Member in der RX_CONTEXT Struktur, auf die der RxContext-Parameter verweist:
Der MajorFunction-Member ist auf die Hauptfunktion des IRP festgelegt.
Der LowIoContext.ParamsFor.FsCtl.FsControlCode-Member wird auf den FSCTL-Code für das IRP festgelegt, wenn dies eine FSTCL-Anforderung war, die zum Starten des Netzwerkminiumleitungsmoduls verwendet wurde.
MRxStart wird von RDBSS aus der RxStartMinirdr-Routine aufgerufen. Vor dem Aufruf von MRxStart registriert RDBSS RxDeviceObject des Netzwerk-Mini-Redirectors als Dateisystem. RDBSS registriert auch den Netzwerkminiumleitungsor als UNC-Anbieter, wenn der Netzwerkminiumleitungsor die Unterstützung für UNC-Namen angibt.
Wenn MRxStart STATUS_SUCCESS zurückgibt, war die Routine erfolgreich. Jeder andere Rückgabewert gibt an, dass in der Startsequenz ein Fehler aufgetreten ist.
Wenn MRxStart STATUS_SUCCESS zurückgibt, legt RDBSS den Zustand von RDBSS auf RDBSS_STARTED 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
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | mrx.h (mrx.h einschließen) |