estructura GNSS_DEVICE_CAPABILITY (gnssdriver.h)
La estructura GNSS_DEVICE_CAPABILITY se usa para determinar las funcionalidades del dispositivo del motor GNSS subyacente.
Sintaxis
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;
Miembros
Size
Tamaño de la estructura.
Version
Número de versión.
SupportMultipleFixSessions
Indica si el controlador GNSS admite de forma nativa varias sesiones para el mismo tipo (por ejemplo, varias sesiones de seguimiento de distancia simultáneas iniciadas por el HLOS). Si es FALSE, el adaptador de GNSS multiplexará las solicitudes de sesión de corrección de varias aplicaciones LBS para combinarlas en una solicitud de sesión de corrección que satisfaga todas las solicitudes de cliente.
Si esta funcionalidad no está presente, el controlador debe admitir al menos una sesión activa de cada tipo de sesión de corrección compatible. Por ejemplo, si el controlador admite el seguimiento basado en distancia y la funcionalidad de captura única, debe admitir una sesión de corrección basada en distancia y una sesión de corrección de captura única activa al mismo tiempo.
El controlador siempre debe admitir la modificación del parámetro de sesión para un tipo de sesión de corrección activa para que el adaptador de GNSS no necesite detener o iniciar una sesión de corrección en curso cuando es necesario multiplexar una nueva solicitud de corrección. En Windows 10, el adaptador de GNSS no admite el inicio en el controlador GNSS varias sesiones del mismo tipo.
SupportMultipleAppSessions
Indica si el controlador GNSS admite y realiza un seguimiento de las solicitudes procedentes de varias aplicaciones HLOS de forma nativa. El controlador GNSS no debe restringir la llamada desde más de una aplicación al mismo tiempo.
Un valor true indica que el controlador realiza un seguimiento de las distintas sesiones de aplicación de HLOS, particiona lógicamente las solicitudes, garantiza que la solicitud de una sesión de aplicación no influye en otra sesión de aplicación, etc. Por ejemplo, podrá controlar por separado el adaptador de GNSS y una aplicación de prueba, y responder a los comandos de cada uno de ellos por separado.
Un valor false indica que el controlador no diferencia las sesiones de aplicación HLOS diferentes y trata lógicamente todo de forma global como si todos provenían de una sola sesión de aplicación de HLOS.
RequireAGnssInjection
Indica si el controlador GNSS requiere que se inserten datos de asistencia para una TTFF más rápida.
AgnssFormatSupported
Especifica una máscara de bits que contiene los diferentes formatos AGNSS (GNSS_AGNSSFORMAT_*) que el controlador puede controlar.
#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
Los valores 0x0080-0xFFFF están reservados para la extensibilidad.
Esta lista incluye actualmente algunos formatos propietarios de IHV. La lista se puede actualizar cuando los IHD o los OEM decidan obtener la información de asistencia de GNSS, específicamente ephemeris extendidas, a través de la plataforma de ubicación.
AgnssFormatPreferred
Especifica el formato de AGNSS preferido con la misma máscara de bits que AgnssFormatSupported. Por ejemplo, si se admiten XTRA1 y XTRA2, pero XTRA2 es el formato preferido, el controlador GNSS establece AgnssFormatSupported en 0x000C y AgnssFormatPreferred en 0x0004.
SupportDistanceTracking
Indica si el controlador o el motor de GNSS admite de forma nativa el seguimiento de baja potencia del dispositivo en función de un umbral específico de la sesión. Un valor TRUE implica que el controlador puede admitir esto de forma nativa en un modo de bajo consumo, por ejemplo, descargando el seguimiento en un procesador de baja potencia y no requerir que el procesador de la aplicación esté encendido y sondear el movimiento.
Si el controlador GNSS admite el seguimiento de distancia, admite implícitamente otros tipos de sesiones de corrección paralelas al mismo tiempo. Por ejemplo, si una sesión de seguimiento de distancia está activa, también se debe permitir una captura única paralela y se deben respetar ambos tipos de sesiones de corrección.
SupportContinuousTracking
Indica si el controlador o motor de GNSS admite de forma nativa el seguimiento continuo de baja potencia del dispositivo. Un valor TRUE implica que el controlador puede admitir esto de forma nativa en un modo de bajo consumo, por ejemplo, descargando el seguimiento en un procesador de baja potencia y no requerir que el procesador de la aplicación esté encendido y sondee continuamente.
Si el controlador GNSS admite el seguimiento continuo, admite implícitamente otros tipos de sesiones de corrección paralelas al mismo tiempo. Por ejemplo, el seguimiento continuo y de captura única puede producirse en paralelo.
Reserved1
Reservado para un uso futuro.
Reserved2
Reservado para un uso futuro.
Reserved3
Reservado para un uso futuro.
Reserved4
Reservado para un uso futuro.
Reserved5
Reservado para un uso futuro.
GeofencingSupport
Los controladores GNSS de la versión 1 deben indicar que esta funcionalidad no se admite.
Los controladores GNSS de la versión 2 y versiones posteriores pueden indicar la compatibilidad con la geovalla estableciendo las siguientes máscaras de bits:
#define GNSS_GEOFENCESUPPORT_SUPPORTED 0x01
#define GNSS_GEOFENCESUPPORT_CIRCLE 0x02
GNSS_GEOFENCESUPPORT_SUPPORTED indica que el motor GNSS admite el seguimiento de geovalla. Admitir la funcionalidad de seguimiento de geovalla implica que se realiza de forma nativa, de forma optimizada para energía, y usa las tecnologías de posicionamiento híbridas adecuadas disponibles en el motor GNSS, según corresponda.
GNSS_GEOFENCESUPPORT_CIRCLE indica que el motor GNSS admite geovallas circulares.
Reserved6
Reservado para un uso futuro.
Reserved7
Reservado para un uso futuro.
SupportCpLocation
Especifica si se admite la ubicación de CP.
SupportUplV2
Especifica si se admite la ubicación del plano de usuario V2 para STORAGE.
SupportSuplV1
Especifica si se admite SUPL V1.
SupportSuplV2
Especifica si se admite SUPL V2.
SupportedSuplVersion
Especifica la versión más reciente de SUPL compatible con el cliente SUPL. Actualmente, el HLOS no usa esta información de versión con fines de validación.
MaxGeofencesSupported
Especifica el número de geovallas que el motor de GNSS puede realizar un seguimiento en función de las restricciones establecidas por la plataforma. Este valor solo será válido cuando se establezca el campo GeofencingSupport.
SupportMultipleSuplRootCert
Especifica el parámetro SUPL.
GnssBreadCrumbPayloadVersion
Debe ser BREADCRUMBING_UNSUPPORTED o BREADCRUMBING_VERSION_x.
MaxGnssBreadCrumbFixes
Debe ser mayor o igual que MIN_BREADCRUMBS_SUPPORTED.
Unused[496]
Búfer de relleno reservado para uso futuro.
Comentarios
Se trata de una lista de compatibilidad con funcionalidades individuales. La funcionalidad se representa mediante un valor booleano o una enumeración bien definida del atributo específico.
Requisitos
Requisito | Valor |
---|---|
Header | gnsdriver.h (incluya Gnssdriver.h) |