GNSS_DEVICE_CAPABILITY Struktur (GNSSDRIVER.h)
Die GNSS_DEVICE_CAPABILITY-Struktur wird verwendet, um die Gerätefunktionen der zugrunde liegenden GNSS-Engine zu bestimmen.
Syntax
typedef struct {
ULONG Size;
ULONG Version;
BOOL SupportMultipleFixSessions;
BOOL SupportMultipleAppSessions;
BOOL RequireAGnssInjection;
ULONG AgnssFormatSupported;
ULONG AgnssFormatPreferred;
BOOL SupportDistanceTracking;
BOOL SupportContinuousTracking;
ULONG Reserved1;
BOOL Reserved2;
BOOL Reserved3;
BOOL Reserved4;
BOOL Reserved5;
ULONG GeofencingSupport;
BOOL Reserved6;
BOOL Reserved7;
BOOL SupportCpLocation;
BOOL SupportUplV2;
BOOL SupportSuplV1;
BOOL SupportSuplV2;
GNSS_SUPL_VERSION SupportedSuplVersion;
ULONG MaxGeofencesSupported;
BOOL SupportMultipleSuplRootCert;
ULONG GnssBreadCrumbPayloadVersion;
ULONG MaxGnssBreadCrumbFixes;
BYTE Unused[496];
} GNSS_DEVICE_CAPABILITY, *PGNSS_DEVICE_CAPABILITY;
Member
Size
Strukturgröße.
Version
Versionsnummer:
SupportMultipleFixSessions
Gibt an, ob der GNSS-Treiber mehrere Sitzungen für denselben Typ nativ unterstützt (z. B. mehrere gleichzeitige Entfernungsverfolgungssitzungen, die vom HLOS initiiert werden). Bei FALSE multiplext der GNSS-Adapter die Fixsitzungsanforderungen von mehreren LBS-Apps, um sie in einer Fixsitzungsanforderung zu kombinieren, die alle Clientanforderungen erfüllt.
Wenn diese Funktion nicht vorhanden ist, muss der Treiber mindestens eine aktive Sitzung jedes unterstützten Fixsitzungstyps unterstützen. Wenn der Treiber beispielsweise entfernungsbasierte Nachverfolgung und Single-Shot-Funktionalität unterstützt, muss er eine entfernungsbasierte Fixsitzung und eine Single-Shot-Fixsitzung gleichzeitig unterstützen.
Der Treiber muss immer die Änderung des Sitzungsparameters für einen aktiven Fixsitzungstyp unterstützen, damit der GNSS-Adapter eine laufende Fixsitzung nicht beenden/starten muss, wenn eine neue Fixanforderung multiplext werden muss. In Windows 10 unterstützt der GNSS-Adapter nicht das Initiieren mehrerer Sitzungen desselben Typs im GNSS-Treiber.
SupportMultipleAppSessions
Gibt an, ob der GNSS-Treiber Anforderungen von mehreren HLOS-Anwendungen nativ unterstützt und nachverfolgt. Der GNSS-Treiber darf das Aufrufen von mehr als einer Anwendung gleichzeitig nicht einschränken.
Der Wert TRUE gibt an, dass der Treiber die verschiedenen HLOS-Anwendungssitzungen nachverfolgt, die Anforderungen logisch partitioniert, sicherstellt, dass die Anforderung von einer Anwendungssitzung keine andere Anwendungssitzung beeinflusst usw. Beispielsweise kann sie den GNSS-Adapter und eine Testanwendung separat verarbeiten und auf Befehle aus den einzelnen Anwendungen reagieren.
Der Wert FALSE gibt an, dass der Treiber unterschiedliche HLOS-Anwendungssitzungen nicht unterscheidet und alles logisch global behandelt, als ob sie alle aus einer einzelnen HLOS-Anwendungssitzung stammen.
RequireAGnssInjection
Gibt an, ob für den GNSS-Treiber Unterstützungsdaten für eine schnellere TTFF eingefügt werden müssen.
AgnssFormatSupported
Gibt eine Bitmaske an, die die verschiedenen AGNSS-Formate (GNSS_AGNSSFORMAT_*) enthält, die der Treiber verarbeiten kann.
#define GNSS_AGNSSFORMAT_XTRA1 0x01
#define GNSS_AGNSSFORMAT_XTRA2 0x02
#define GNSS_AGNSSFORMAT_LTO 0x04
#define GNSS_AGNSSFORMAT_XTRA3 0x08
#define GNSS_AGNSSFORMAT_XTRA3_1 0x10
#define GNSS_AGNSSFORMAT_XTRA3_2 0x20
#define GNSS_AGNSSFORMAT_XTRA_INT 0x40
Die Werte 0x0080-0xFFFF sind für die Erweiterbarkeit reserviert.
Diese Liste enthält derzeit einige proprietäre IHV-Formate. Die Liste kann aktualisiert werden, wenn IHVs oder OEMs beschließen, die GNSS-Unterstützungsinformationen, insbesondere erweiterte Ephemeris, über die Standortplattform zu erhalten.
AgnssFormatPreferred
Gibt das bevorzugte AGNSS-Format unter Verwendung derselben Bitmaske wie AGNSSFormatSupported an. Wenn beispielsweise XTRA1 und XTRA2 unterstützt werden, XTRA2 das bevorzugte Format ist, legt der GNSS-Treiber AgnssFormatSupported auf 0x000C und AgnssFormatPreferred auf 0x0004 fest.
SupportDistanceTracking
Gibt an, ob der GNSS-Treiber/die GNSS-Engine nativ die Nachverfolgung des Geräts mit geringer Leistung unterstützt, basierend auf einem sitzungsspezifischen Schwellenwert. Ein TRUE-Wert impliziert, dass der Treiber dies nativ in einem Energiesparmodus unterstützen kann, z. B. durch Auslagerung der Nachverfolgung an einen Prozessor mit geringer Leistung und nicht erforderlich, dass der App-Prozessor aktiviert ist und nach Bewegung abfragt.
Wenn der GNSS-Treiber die Entfernungsverfolgung unterstützt, unterstützt er implizit gleichzeitig andere Arten von parallelen Fixsitzungen. Wenn beispielsweise eine Entfernungsverfolgungssitzung aktiv ist, muss auch eine parallele Einzelaufnahme zulässig sein, und beide Arten von Fixsitzungen müssen berücksichtigt werden.
SupportContinuousTracking
Gibt an, ob der GNSS-Treiber/die GNSS-Engine nativ die kontinuierliche Nachverfolgung des Geräts mit geringem Stromverbrauch unterstützt. Ein TRUE-Wert impliziert, dass der Treiber dies nativ in einem Energiesparmodus unterstützen kann, z. B. durch Auslagerung der Nachverfolgung an einen Prozessor mit geringer Leistung und nicht erforderlich, dass der App-Prozessor kontinuierlich aktiviert ist und abruft.
Wenn der GNSS-Treiber die fortlaufende Nachverfolgung unterstützt, unterstützt er implizit gleichzeitig andere Arten von parallelen Fixsitzungen. Beispielsweise können single-shot und continuous tracking parallel erfolgen.
Reserved1
Für zukünftige Verwendung reserviert.
Reserved2
Für zukünftige Verwendung reserviert.
Reserved3
Für zukünftige Verwendung reserviert.
Reserved4
Für zukünftige Verwendung reserviert.
Reserved5
Für zukünftige Verwendung reserviert.
GeofencingSupport
GNSS-Treiber der Version 1 müssen angeben, dass diese Funktion nicht unterstützt wird.
GNSS-Treiber der Version 2 und höher können die Geofenceunterstützung anzeigen, indem sie die folgenden Bitmasken festlegen:
#define GNSS_GEOFENCESUPPORT_SUPPORTED 0x01
#define GNSS_GEOFENCESUPPORT_CIRCLE 0x02
GNSS_GEOFENCESUPPORT_SUPPORTED gibt an, dass die GNSS-Engine die Geofencenachverfolgung unterstützt. Die Unterstützung der Geofence-Tracking-Funktionalität setzt voraus, dass dies nativ und leistungsoptimiert erfolgt und die entsprechenden Hybridpositionierungstechnologien verwendet, die in der GNSS-Engine verfügbar sind.
GNSS_GEOFENCESUPPORT_CIRCLE gibt an, dass die GNSS-Engine kreisförmige Geofences unterstützt.
Reserved6
Für zukünftige Verwendung reserviert.
Reserved7
Für zukünftige Verwendung reserviert.
SupportCpLocation
Gibt an, ob der CP-Speicherort unterstützt wird.
SupportUplV2
Gibt an, ob der Speicherort der V2-Benutzerebene für CDMA unterstützt wird.
SupportSuplV1
Gibt an, ob SUPL V1 unterstützt wird.
SupportSuplV2
Gibt an, ob SUPL V2 unterstützt wird.
SupportedSuplVersion
Gibt die neueste SUPL-Version an, die vom SUPL-Client unterstützt wird. Diese Versionsinformationen werden derzeit vom HLOS unter nicht zu Validierungszwecken verwendet.
MaxGeofencesSupported
Gibt die Anzahl von Geofences an, die die GNSS-Engine basierend auf den von der Plattform festgelegten Einschränkungen nachverfolgen kann. Dieser Wert ist nur gültig, wenn das Feld GeofencingSupport festgelegt ist.
SupportMultipleSuplRootCert
Gibt den SUPL-Parameter an.
GnssBreadCrumbPayloadVersion
Muss BREADCRUMBING_UNSUPPORTED oder BREADCRUMBING_VERSION_x sein.
MaxGnssBreadCrumbFixes
Muss größer als oder gleich MIN_BREADCRUMBS_SUPPORTED sein.
Unused[496]
Puffer für die zukünftige Verwendung reserviert.
Hinweise
Dies ist eine Liste mit der Unterstützung einzelner Funktionen. Die Funktion wird entweder durch einen booleschen Wert oder durch eine klar definierte Enumeration des spezifischen Attributs dargestellt.
Anforderungen
Anforderung | Wert |
---|---|
Header | gnssdriver.h (einschließlich GNSSdriver.h) |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für