PMRX_CALLDOWN_CTX Rückruffunktion (mrx.h)
Die MRxStart- Routine wird von RDBSS- aufgerufen, um den Netzwerkminiumleitungsmodul 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 das IRP, das den Netzwerk-Miniumleitungsmodul zum Starten angefordert hat.
[in, out] RxDeviceObject
Ein Zeiger auf die RDBSS_DEVICE_OBJECT-Struktur für diesen Netzwerk-Miniumleitungsmodul.
Rückgabewert
MRxStart- gibt STATUS_SUCCESS bei Erfolg oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
STATUS_REDIRECTOR_STARTED | Der Netzwerk-Miniumleitungsmodul wurde bereits gestartet. |
STATUS_UNSUCCESSFUL | Der Netzwerk-Miniumleitungsmodul konnte nicht erfolgreich gestartet werden. |
Bemerkungen
MRxStart die Initialisierung des Netzwerkminiumleitungsmoduls aus der RDBSS-Perspektive abschließt. Beachten Sie, dass sich dies von der Initialisierung unterscheidet, die in der DriverEntry Routine erfolgt. Jede Initialisierung, die von RDBSS abhängt, sollte als Teil dieser Routine durchgeführt werden, während die von RDBSS unabhängige Initialisierung in der DriverEntry Routine erfolgen sollte.
Vor dem Aufrufen MRxStart-ändert RDBSS die folgenden Member in der RX_CONTEXT Struktur, auf die durch den RxContext-Parameter verwiesen wird:
Das MajorFunction Member wird 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 Netzwerk-Miniumleitungsmoduls verwendet wurde.
MRxStart- wird von RDBSS aus der RxStartMinirdr Routine aufgerufen. Vor dem Aufrufen MRxStart-registriert RDBSS RxDeviceObject des Netzwerk-Miniumleitungsmoduls als Dateisystem. RDBSS registriert außerdem den Netzwerk-Miniumleitungsor als UNC-Anbieter, wenn der Netzwerkminiumleitungsanbieter 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 Status von RDBSS auf RDBSS_STARTED fest. Dieser Zustand wird im StartStopContext.State Member der RDBSS_DEVICE_OBJECT Struktur gespeichert, auf das von RxDeviceObjectverwiesen wird.
Ein Netzwerkminiumleitungsmodul würde normalerweise eine interne Variable beibehalten, die angibt, ob der Netzwerkminiumleitungsmodul gestartet wird. Ein Netzwerk-Miniumleitungsmodul kann z. B. nachverfolgen, wann er beendet, gestartet wird und wann ein Start- oder Stoppvorgang ausgeführt wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | mrx.h (einschließlich Mrx.h) |