Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Essa enumeração indica o tipo de comando ou configuração do driver para o driver GNSS fornecido na estrutura GNSS_DRIVERCOMMAND_PARAM.
Sintaxe
typedef enum {
GNSS_SetLocationServiceEnabled,
GNSS_SetLocationNIRequestAllowed,
GNSS_ForceSatelliteSystem,
GNSS_ForceOperationMode,
GNSS_ResetEngine,
GNSS_ClearAgnssData,
GNSS_SetSuplVersion,
GNSS_SetNMEALogging,
GNSS_SetUplServerAccessInterval,
GNSS_SetNiTimeoutInterval,
GNSS_ResetGeofencesTracking,
GNSS_SetSuplVersion2,
GNSS_CustomCommand
} GNSS_DRIVERCOMMAND_TYPE;
Constantes
GNSS_SetLocationServiceEnabledInforma ao driver se o local está habilitado no dispositivo. Esse comando é emitido sempre que o serviço de localização é habilitado/desabilitado no dispositivo. Os dados de comando associados são um BOOL. Ao receber esse comando definido como FALSE, o driver GNSS e o dispositivo GNSS devem: - Interrompa as sessões de localização em andamento de qualquer tipo e de qualquer aplicativo HLOS (se houver suporte para vários aplicativos). - Se o dispositivo ou driver GNSS fizer qualquer operação em segundo plano, por exemplo, o acompanhamento de cerca geográfica, a atualização de dados de assistência etc., eles também deverão ser interrompidos. O adaptador GNSS interromperá todas as operações descarregadas quando o local estiver desabilitado. Em relação às solicitações de localização da operadora móvel: - As solicitações de localização da operadora móvel para localização de emergência, para atender aos requisitos da CALEA, etc. ainda devem ser atendidas independentemente do status da opção de local. Espera-se que essas solicitações tenham o sinalizador de substituição de privacidade definido ou/e sejam iniciados na hora do usuário fazer uma chamada de emergência. - Outras solicitações de localização iniciadas pela rede devem respeitar o comando GNSS_SetLocationNIRequestAllowed se esse comportamento for exigido pela operadora móvel e implementado pelo driver GNSS. Se o HLOS precisar iniciar qualquer nova solicitação de local, por exemplo, para permitir que o usuário localize remotamente o dispositivo, o adaptador GNSS enviará um comando para definir o GNSS_SetLocationServiceEnabled como TRUE, iniciará a sessão de correção e, quando os resultados forem recebidos, ele enviará outro comando para definir o GNSS_SetLocationServiceEnabled como FALSE: - GNSS_SetLocationServiceEnabled definido como TRUE=1-> Habilitado - GNSS_SetLocationServiceEnabled definido como FALSE=0-> Desabilitado A menos que esse comando seja emitido pelo adaptador GNSS, o driver deve assumir que o serviço de localização está desabilitado no sistema. |
GNSS_SetLocationNIRequestAllowedInforma ao driver se ele tem permissão para entreter solicitações de localização iniciadas pela rede provenientes da rede móvel. O comando só precisa ter suporte se necessário pela operadora móvel. A partir do Windows 10, a Microsoft não está ciente de nenhuma operadora móvel que exija isso por mais tempo, mas isso permanece para evitar problemas de bloqueio durante a comercialização. Se o comando não for implementado, o driver GNSS deverá simplesmente manter seu comportamento padrão. Os dados de comando associados são um BOOL: - GNSS_SetLocationNIRequestAllowed definido como TRUE=1-> Allow - GNSS_SetLocationNIRequestAllowed definido como FALSE=0-> NotAllow A menos que esse comando seja explicitamente emitido pelo adaptador GNSS, o driver deve assumir que as solicitações de NI estão habilitadas no sistema. O adaptador GNSS mantém um estado em todo o sistema que indica se as solicitações de NI são permitidas. Esse estado é determinado pelo comutador mestre de localização (a configuração que o usuário pode alternar para ativar ou desativar o local) e uma configuração configurada pela operadora móvel para indicar se as solicitações de NI dependem do comutador mestre de localização ou não. O adaptador GNSS avaliará o valor dessas duas configurações e indicará ao driver GNSS se as solicitações de NI forem permitidas ou não. As solicitações de local para serviços de emergência ou para CALEA (por exemplo, o caso de substituição de privacidade que está sendo definida) devem ser atendidas independentemente do valor dessa configuração. |
GNSS_ForceSatelliteSystemEsse comando faz com que o driver GNSS use os sistemas satélites especificados para obter correções. O parâmetro é um DWORD com os seguintes valores: - GNSS_SATELLITE_ANY (0x00) - GNSS_SATELLITE_GPS (0x01) - GNSS_SATELLITE_GLONASS (0x02) - GNSS_SATELLITE_BEIDOU (0x04) - GNSS_SATELLITE_GALILEO (0x08) 0x10-0xFF são reservados. Espera-se que isso seja usado apenas para fins de teste. Algumas operadoras móveis exigem validações usando um único sistema satélite. |
GNSS_ForceOperationModeEsse comando faz com que o driver GNSS use o modo de operação especificado. O parâmetro é um DWORD com os seguintes valores: - GNSS_OPERMODE_ANY (0x00) - GNSS_OPERMODE_MSA (0x01) - GNSS_OPERMODE_MSB (0x02) - GNSS_OPERMODE_MSS (0x04) - GNSS_OPERMODE_CELLID (0x08) - GNSS_OPERMODE_AFLT (0x10) - GNSS_OPERMODE_OTDOA (0x20) 0x40-0xFF são reservados. Esse comando é usado para duas finalidades: – Para configurar o modo de operação no caso da configuração supl. Espera-se que as operadoras móveis configurem apenas o dispositivo para funcionar no modo baseado na Microsoft pelo qual o serviço SUPL é usado para obter dados de assistência (GNSS_OPERMODE_MSB) ou no modo autônomo (GNSS_OPERMODE_MSS) no qual o dispositivo GNSS pode funcionar de forma realmente autônoma ou usar assistência obtida de fontes diferentes do serviço SUPL. O modo autônomo é, na verdade, equivalente ao modo padrão (GNSS_OPERMODE_ANY). – Para configurar diferentes modos de operação para fins de teste. Isso seria usado principalmente por operadoras móveis ou OEMs para fins de validação. Definir o GNSS_ForceOperationMode SUPL como GNSS_OPERMODE_MSS é uma indicação para o sistema GNSS não fazer nenhum tipo de interação com o servidor SUPL para dados do AGNSS. |
GNSS_ResetEngineEsse comando limpa o estado do mecanismo GNSS. Depois que esse comando for emitido, o mecanismo estará pronto para uma correção de inicialização a frio: - Todos os dados de assistência serão excluídos. - O almanaque persistirá. - Os parâmetros de configuração do mecanismo GNSS persistirão. Esse comando só deve ser chamado quando não houver nenhuma sessão de correção ativa. Esse comando normalmente é usado para testar recursivamente a hora do GNSS para corrigir primeiro em início frio. |
GNSS_ClearAgnssDataEsse comando limpa os dados de assistência do AGNSS do mecanismo GNSS. Isso é usado principalmente para fins de teste para garantir que o driver solicite dados de assistência quando uma correção é solicitada. Os dados de comando associados contêm a enumeração GNSS_AGNSS_REQUEST_TYPE específica para indicar o elemento de dados específico a ser limpo: - Se GNSS_AGNSS_TimeInjection for especificado, a referência de tempo será excluída no mecanismo GNSS. Isso pode fazer com que o mecanismo GNSS solicite novamente a injeção de tempo. - Se GNSS_AGNSS_PositionInjection for especificado, a referência de posição grosseira será excluída no mecanismo GNSS. Isso pode fazer com que o mecanismo GNSS solicite novamente a injeção de posição grosseira. - Se GNSS_AGNSS_BlobInjection for especificado, os efêmeros adquiridos dos satélites e qualquer blob de assistência injetado serão excluídos no mecanismo GNSS. Isso pode fazer com que o mecanismo GNSS solicite novamente um blob de assistência. É altamente recomendável que esse comando tenha suporte para fins de teste, mesmo que os dados de assistência não sejam obtidos da plataforma de localização do sistema operacional. |
GNSS_SetSuplVersionEsse comando define a versão SUPL que a operadora móvel deseja ter suporte. Os dados de comando contêm um valor de GNSS_SUPL_VERSION estrutura que inclui as versões principais e secundárias do SUPL indicadas pela operadora móvel. O cliente SUPL deve usar a versão SUPL conforme especificado nos padrões SUPL do OMA, resumindo da seguinte maneira: - Para cenários iniciados pela rede, a mensagem SUPL INIT do H-SLP ou E-SLP para o SET carrega a versão principal e secundária do SUPL pretendida M1.m1 (normalmente a versão mais alta com suporte do SLP) no parâmetro de versão. A mensagem SUPL INIT também carrega o número mínimo de versão principal do SUPL M2 para o qual a continuação da sessão pelo SET é possível no parâmetro mínimo de versão. O valor de M2 dependerá do serviço SUPL pretendido – por exemplo, para uma única correção de local M2 pode ser um; para o local disparado M2 pode ser dois. Uma sessão SUPL pode ser realizada entre o SLP e o SET, desde que o SET esteja usando uma versão principal do SUPL entre M2 e M1. O SET continuará a sessão SUPL normalmente se oferecer suporte a uma versão principal M do SUPL entre M2 e M1 (por exemplo, M2 ≤ M ≤ M1) e indicar essa versão principal e uma versão secundária com suporte m na próxima mensagem (por exemplo, implicitamente no parâmetro de versão da mensagem). - Para sessões SUPL iniciadas por SET, a mensagem SUPL inicial do SET carrega a versão principal e secundária do SUPL com suporte M1.m1 (implicitamente no parâmetro de versão). O H-SLP continuará a sessão se ele der suporte à mesma versão principal M1 e, caso contrário, enviar um SUPL END e encerrar a sessão. |
GNSS_SetNMEALoggingEsse comando define o status do registro em log NMEA. Esse comando faz com que o driver GNSS inicie/pare de fornecer as informações de correção de dados por meio de cadeias de caracteres NMEA. O driver GNSS deve continuar fornecendo correções na estrutura GNSS_FIXDATA. O parâmetro é um DWORD com os seguintes valores: - GNSS_NMEALOGGING_NONE (0x00) - GNSS_NMEALOGGING_ALL (0xFF) O valor padrão para esse comando não é registro em log NMEA (GNSS_NMEALOGGING_NONE). Esse comando não deve persistir na reinicialização do sistema. Este comando foi introduzido para dar suporte ao teste OEM. Esse comando não é usado pela estrutura de localização ou pelas ferramentas de teste da Microsoft. |
GNSS_SetUplServerAccessIntervalEsse comando define o tempo mínimo entre as solicitações para o servidor para a posição assistida para evitar sobrecarga de serviço. O intervalo de tempo é especificado em segundos. As operadoras móveis podem usar o provedor de serviços de configuração para ajustar essa configuração, se precisarem dela. Se esse parâmetro não tiver suporte, se puder ser ignorado, mas os comandos de configuração SUPL não falharão. |
GNSS_SetNiTimeoutIntervalEsse comando define quanto tempo o dispositivo deve aguardar a entrada de um usuário antes de responder à solicitação ni executando a ação padrão. O intervalo de tempo é especificado em segundos e o valor padrão é 35 segundos. Esse tempo limite é 5 segundos maior que o tempo limite usado pelo sistema operacional para aguardar a resposta do usuário e é simplesmente um failsafe no caso de o sistema operacional não responder. Esse comando é aplicável somente a solicitações iniciadas pela rede nas quais a verificação do usuário é solicitada. As operadoras móveis podem usar o provedor de serviços de configuração para substituir o valor padrão do sistema operacional. Nesse caso, os valores padrão especificados acima devem ser substituídos pelos valores fornecidos pela operadora móvel. |
GNSS_ResetGeofencesTrackingEsse comando redefine a operação de acompanhamento de cerca geográfica. O driver GNSS deve excluir todas as cercas geográficas do mecanismo GNSS, interromper o rastreamento de cerca geográfica e interromper o monitoramento para condições de sinal. A operação de acompanhamento de cerca geográfica começará como de costume somente quando o HLOS criar uma ou mais novas cercas geográficas. |
GNSS_SetSuplVersion2Esse comando define a versão SUPL 2 para o driver GNSS. |
GNSS_CustomCommandIntervalo para comandos GNSS específicos de IHV personalizados: 0x0100 – 0x01FF. |
Requisitos
| Requisito | Valor |
|---|---|
| cabeçalho | gnssdriver.h |