IOCTL_GNSS_START_FIXSESSION IOCTL (gnssdriver.h)
Der IOCTL_GNSS_START_FIXSESSION Steuercode wird vom GNSS-Adapter verwendet, um eine Fixsitzung zu starten.
Hauptcode
Eingabepuffer
Ein Zeiger auf eine GNSS_FIXSESSION_PARAM-Struktur .
Länge des Eingabepuffers
Auf sizeof(GNSS_FIXSESSION_PARAM) festgelegt.
Ausgabepuffer
Auf NULL festgelegt.
Länge des Ausgabepuffers
Auf 0 festlegen.
Statusblock
Irp->IoStatus.Status wird auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist. Andernfalls wird Status zur entsprechenden Fehlerbedingung als NTSTATUS-Code verwendet.
Hinweise
Der Treiber legt einen NTSTATUS-Wert fest, um eines der folgenden Ergebnisse anzugeben.
- Die Fixsitzung wurde erfolgreich gestartet.
- Eine Fixsitzung desselben Typs ist bereits aktiv, und der Treiber unterstützt nicht mehrere Sitzungen.
Hinweise zum GNSS-Adapter
Wenn keine Unterstützung für mehrere Sitzungen vorhanden ist, stellt der GNSS-Adapter sicher, dass mehrere Sitzungen desselben Fixtyps ordnungsgemäß multiplext werden, sodass der GNSS-Treiber nur eine Sitzung eines bestimmten Fixtyps sieht. Der GNSS-Adapter kann die Fixsitzungsparameter einer aktiven Fixsitzung über den IOCTL_GNSS_MODIFY_FIXSESSION-Aufruf ändern.Der GNSS-Adapter startet keine Get Fix-Anforderung, es sei denn, der Treiber schließt diesen Aufruf ab und gibt einen erfolgreichen status in der Ausgabe zurück.
Hinweise zu GNSS-Treibern
Wenn die Unterstützung für mehrere Sitzungen nicht vorhanden ist und der GNSS-Adapter eine weitere Startkorrekturanforderung für einen bereits aktiven Fixtyp sendet, muss der GNSS-Treiber die neue Sitzungsanforderung fehlschlagen. Der Treiber sollte die vorherige Sitzung nicht durch die neuen Korrektursitzungsdetails ersetzen.Mehrere Fixsitzungen mit unterschiedlichen Fixtypen werden immer vom GNSS-Treiber unterstützt.
Sobald der GNSS-Treiber die Fixsitzungsparameter akzeptiert, überprüft und die GNSS-Engine startet, schließt er die E/A sofort mit einem Erfolgsrückgabecode ab. Es sei denn, die Sitzung zum Starten der Korrektur wird mit einem Erfolgscode zurückgegeben, der GNSS-Adapter gibt keine Anforderung zum Beheben von Korrekturen aus. Alle für diese spezifische Fixsitzung empfangenen Fixes müssen an den GNSS-Adapter für einen nachfolgenden ausstehenden Fixaufruf vom GNSS-Adapter mit derselben Sitzungs-ID übermittelt werden. Wenn ein Fix verfügbar wird und kein ausstehender Get Fix-Aufruf vom Adapter erstellt wird, muss der GNSS-Treiber die Korrektur bis zu einem implementierungsspezifischen Timeoutwert in die Warteschlange stellen, bis eine ausstehende E/A erstellt wird, die die Sitzungs-ID darstellt.
Nachdem eine Fixsitzung gestartet wurde, bleibt sie aktiv, es sei denn, die Fixsitzung wird explizit vom GNSS-Adapter beendet. Dies gilt für alle Korrekturtypen.
Anforderungen
Anforderung | Wert |
---|---|
Header | gnssdriver.h |
Weitere Informationen
Erstellen von IOCTL-Anforderungen in Treibern
WdfIoTargetSendInternalIoctlOthersSynchronly