Share via


GPS Intermediate Driver Architecture

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

O driver intermediário de GPS (GPSID) funciona por Injetando próprio entre aplicativos e hardware de GPS. Para um aplicativo, o GPSID aparece como hardware de GPS. Para hardware de GPS, o GPSID aparece como um único cliente. Essa camada de abstração fornece múltiplo benefícios para os desenvolvedores. Para obter mais informações sobre esses benefícios, as well as uma breve comparação entre o modelo usado por um modelo e o GPSID onde um aplicativo interage diretamente com hardware de GPS, consulte Vantagens do driver intermediárias de GPS.

O definir abaixo mostra a arquitetura GPS ID. Na definir blocos estão sombreados com esquerdo ou direito diagonais padrões para criar dois grupos lógicos. O GRUPO right-diagonal lida com entrada NMEA. O GRUPO left-diagonal lida com processado entrada.

Aplicativos herdados são aqueles que pretende ler um porta COM e receber dados NMEA. Eles usam funções such as CreateFile() e ReadFile(). GPSID fornece dados para aplicativos herdados, disfarçando próprio como um porta COM e registrando próprio como o serviço de “ COMX: ” onde "X" é especificado no Registro. O Multiplexador permite herdado muitos aplicativos para usar o porta COM virtual simultaneamente.

Novos aplicativos são aqueles que usam o GPS API. Eles get dados por meio de estruturas definidas pelo API e não precisam analisar sentenças NMEA. O GPSID analisa sentenças NMEA do hardware de GPS em estruturas de API para os aplicativos.

O GPSID é implementado como um driver de dispositivo normal. ** Em Windows Embedded CE 6.0 isso é executar do Services.exe.Em isso é executar de DEVICE.exe. Em Windows Mobile 6 ele é carregado no processo Device.exe como todos os drivers dispositivo, embora ele não interagir com hardware dispositivo diretamente. **Ele usa outro driver de dispositivo - o um fornecido com ou usados pelo hardware de GPS - que, em seguida, interage com o real hardware.

De exemplo, suponha que, sem o GPSID, um aplicativo interage com hardware de GPS por chamado CreateFile e passando " com1: " Como o primeiro parâmetro. Com o GPSID, no longer o aplicativo se conecta diretamente ao hardware de GPS. Para o aplicativo para recuperar dados usando o GPSID, ele deve primeiro configurar o GPSID para conectar para o hardware de GPS usando COM1. Você pode fazer isso usando o aplicativo GPSID Control Panel (se presente no seu dispositivo destino), ou pela manipulação de Registro. Para obter informações detalhadas sobre como configurar o GPSID, consulte Configurando o driver intermediário de GPS.

Depois que o GPSID sabe onde localizar o real hardware de GPS, os aplicativos podem usar o hardware de GPS por qualquer uma das duas interfaces:

  • Modo analisado, usando o GPSID API. Essa interface permite que os desenvolvedores para recuperar dados de GPS sem chamado CreateFile e MapVirtualKey. ReadFile. Em vez disso, eles chamar GPSOpenDevice, GPSGetPosition, e GPSCloseDevice. Para obter mais informações sobre essa interface, consulte Acessando dados de GPS Parsed.
  • Modo RAW, usando o Windows Embedded CE transmitir driver de dispositivo interface (CreateFile/ReadFile/CloseHandle). As informações fornecidas pelo cada ReadFile chamar é os dados como ele foi recuperado a partir de hardware de GPS. Os aplicativos são responsáveis para análise de NMEA seqüências próprios. Essa interface fornece compatibilidade com versões anteriores, suporte a aplicativos que esperam para interagir com hardware de GPS diretamente por uma interface transmitir. Para obter mais informações sobre essa interface, consulte Accessing Raw GPS Data.

Internamente, o GPSID se comunica com o subjacente driver hardware de GPS. Ele fornece dados localidade do driver de hardware para aplicativos que chamar qualquer GPSGetPosition ou ISpTTSEngine::Speak. ReadFile Para recuperar os dados de GPS. O GPSID controla dados localidade fornecidos para cada cliente so that um aplicativo obtendo dados localidade não evitar outro aplicativo de obter os mesmos dados localidade. O fato que a GPSID pode estar fornecendo dados localidade para múltiplo aplicativos está completamente transparente para aplicativos usando o GPSID.

See Also

Other Resources

Driver intermediário de GPS