次の方法で共有


GNSS_DRIVERCOMMAND_TYPE列挙 (gnssdriver.h)

この列挙体は、 GNSS_DRIVERCOMMAND_PARAM 構造体で提供される GNSS ドライバーのドライバー コマンドまたは構成の種類を示します。

構文

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;

定数

 
GNSS_SetLocationServiceEnabled
デバイスで場所が有効になっているかどうかをドライバーに通知します。 このコマンドは、デバイスで位置情報サービスが有効または無効になるたびに発行されます。

関連付けられたコマンド データは BOOL です

このコマンドを FALSE に設定すると、GNSS ドライバーと GNSS デバイスは次の操作を行う必要があります。

- (複数のアプリケーションがサポートされている場合) 任意の種類の、および任意の HLOS アプリケーションから、進行中の場所セッションを停止します。

- GNSS デバイスまたはドライバーがバックグラウンドで何らかの操作 (ジオフェンス追跡、支援データ更新など) を実行する場合は、それらの操作も停止する必要があります。 GNSS アダプターは、場所が無効になっている場合、オフロードされたすべての操作を停止します。

携帯電話会社からの場所の要求に関連して:

- CALEA の要件を満たすために、緊急の場所に関する携帯電話会社からの場所要求は、場所の切り替えの状態に関係なく引き続き提供する必要があります。 これらの要求には、プライバシー オーバーライド フラグが設定されている必要があります。また、ユーザーが緊急通報を行う頃に開始されます。

- この動作が携帯電話会社によって必要であり、GNSS ドライバーによって実装される場合は、他のネットワークによって開始される場所要求で 、GNSS_SetLocationNIRequestAllowed コマンドを受け入れる必要があります。

たとえば、ユーザーがデバイスをリモートで検索できるようにするために HLOS が新しい場所要求を開始する必要がある場合、GNSS アダプターはコマンドを送信して GNSS_SetLocationServiceEnabled を TRUE に設定し、修正セッションを開始し、結果を受信すると、 GNSS_SetLocationServiceEnabled を FALSE に設定する別のコマンドを送信します。

- GNSS_SetLocationServiceEnabled TRUE=1-> 有効に設定

- GNSS_SetLocationServiceEnabled FALSE=0-> 無効に設定

GNSS アダプターによってこのコマンドが発行されない限り、ドライバーは、位置情報サービスがシステムで無効になっていると想定する必要があります。
GNSS_SetLocationNIRequestAllowed
モバイル ネットワークから送信されるネットワークによって開始された場所の要求を楽しませることが許可されているかどうかをドライバーに通知します。 このコマンドは、携帯電話会社が必要とする場合にのみサポートする必要があります。 Windows 10の時点で、Microsoft はこれを必要とする携帯電話会社を認識していませんが、これは商用化中のブロックの問題を回避するために残っています。 コマンドが実装されていない場合、GNSS ドライバーは単に既定の動作を維持する必要があります。

関連付けられたコマンド データは BOOL です。

- GNSS_SetLocationNIRequestAllowed TRUE=1-> 許可に設定

- false =0-> NotAllow に設定GNSS_SetLocationNIRequestAllowed

このコマンドが GNSS アダプターによって明示的に発行されない限り、ドライバーは、NI 要求がシステムで有効になっていると想定する必要があります。

GNSSアダプタは、NI要求が許可されているかどうかを示すシステム全体の状態を維持します。 この状態は、位置情報マスタースイッチ(ユーザーがオンまたはオフに切り替えることができる設定)と、NI要求がロケーションマスタスイッチに依存しているかどうかを示すために携帯電話会社によって構成された設定によって決定されます。

GNSS アダプターは、これら 2 つの設定の値を評価し、NI 要求が許可されているかどうかを GNSS ドライバーに示します。

緊急サービスまたは CALEA の場所要求 (プライバシーオーバーライドが設定されている場合など) は、この設定の値に関係なく提供する必要があります。
GNSS_ForceSatelliteSystem
このコマンドにより、GNSS ドライバーは、修正プログラムを取得するために指定されたサテライト システムを使用します。 パラメーターは、次の値を持つ DWORD です。

- GNSS_SATELLITE_ANY (0x00)
- GNSS_SATELLITE_GPS (0x01)
- GNSS_SATELLITE_GLONASS (0x02)
- GNSS_SATELLITE_BEIDOU (0x04)
- GNSS_SATELLITE_GALILEO (0x08)

0x10-0xFFは予約されています。

これは、テスト目的でのみ使用されることが想定されています。 一部の携帯電話会社では、単一の衛星システムを使用した検証が必要です。
GNSS_ForceOperationMode
このコマンドを実行すると、GNSS ドライバーで指定した操作モードが使用されます。

パラメーターは、次の値を持つ DWORD です。

- 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は予約されています。

このコマンドは、次の 2 つの目的で使用されます。

- SUPL 構成の場合に操作モードを構成します。 モバイル オペレーターは、SUPL サービスを使用して支援データ (GNSS_OPERMODE_MSB)、または GNSS デバイスが実際にスタンドアロンで動作するか、SUPL サービス以外のソースから取得したアシスタンスを使用できるスタンドアロン モード (GNSS_OPERMODE_MSS) でのみ動作するようにデバイスを構成することが期待されます。 スタンドアロン モードは、実際には既定のモード (GNSS_OPERMODE_ANY) と同じです。

- テスト目的でさまざまな操作モードを構成する。 これは主に、検証目的で携帯電話会社または OEM によって使用されます。

SUPL GNSS_ForceOperationModeGNSS_OPERMODE_MSS に設定することは、AGNSS データに対して SUPL サーバーとのやり取りを行わないよう GNSS システムに指示します。
GNSS_ResetEngine
このコマンドは、GNSS エンジンの状態をクリアします。 このコマンドが発行されると、エンジンはコールド スタート修正の準備が整います。

- すべての支援データが削除されます。

- アルマナックは持続します。

- GNSS エンジンの構成パラメーターは保持されます。

このコマンドは、アクティブな修正セッションがない場合にのみ呼び出す必要があります。 通常、このコマンドは、コールド スタート時に最初に修正する GNSS 時間を再帰的にテストするために使用されます。
GNSS_ClearAgnssData
このコマンドは、GNSS エンジンから AGNSS アシスタンス データをクリアします。 これは主に、修正プログラムが要求されたときにドライバーが支援データを要求することを確認するためのテスト目的で使用されます。 関連付けられているコマンド データには、クリアする特定のデータ要素を示す特定の GNSS_AGNSS_REQUEST_TYPE 列挙が含まれています。

- GNSS_AGNSS_TimeInjection を指定すると、GNSS エンジンで時間参照が削除されます。 これにより、GNSS エンジンが再びタイム インジェクションを要求する可能性があります。

- GNSS_AGNSS_PositionInjection を指定すると、GNSS エンジンで粗い位置参照が削除されます。 これにより、GNSS エンジンが再び粗い位置の挿入を要求する可能性があります。

- GNSS_AGNSS_BlobInjection が指定されている場合、サテライトから取得したエフェメリと、挿入されたアシスタンス BLOB の両方が GNSS エンジンで削除されます。 これにより、GNSS エンジンがもう一度アシスタンス BLOB を要求する可能性があります。

このコマンドは、サポート データが OS の場所プラットフォームから取得されていない場合でも、テスト目的でサポートされることを強くお勧めします。
GNSS_SetSuplVersion
このコマンドは、携帯電話会社がサポートする SUPL バージョンを設定します。 コマンド データには、携帯電話会社によって示されるメジャーバージョンとマイナー SUPL バージョンの両方を含む、 GNSS_SUPL_VERSION 構造体の値が含まれています。

SUPL クライアントでは、OMA SUPL 標準で指定されているとおりに SUPL バージョンを使用する必要があります。要約すると、次のようになります。

- ネットワークによって開始されるシナリオの場合、H-SLP または E-SLP から SET への SUPL INIT メッセージには、目的の SUPL メジャー バージョンとマイナー バージョン M1.m1 (通常は SLP でサポートされている最高バージョン) が version パラメーターに含まれます。 SUPL INIT メッセージには、最小バージョン パラメーターで SET によるセッションの継続が可能な最小 SUPL メジャー バージョン番号 M2 も含まれます。 M2 の値は、目的の SUPL サービスによって異なります。たとえば、単一の場所の修正プログラム M2 は 1 つになる場合があります。トリガー位置M2については2個であってもよい。 SET が M2 と M1 の間の SUPL メジャー バージョンを使用している限り、SLP と SET の間で SUPL セッションを実行できます。 SET は、M2 と M1 の間の SUPL のメジャー バージョン M (M2 ≤ M ≤ M1 など) をサポートしている場合に SUPL セッションを正常に続行し、次のメッセージでこのメジャー バージョンとサポートされているマイナー バージョン m を示します (たとえば、メッセージの version パラメーターで暗黙的に)。

- SET によって開始される SUPL セッションの場合、SET からの最初の SUPL メッセージには、サポートされている SUPL メジャー バージョンとマイナー バージョン M1.m1 が含まれます (バージョン パラメーターでは暗黙的に)。 H-SLP は、同じメジャー バージョン M1 をサポートしている場合はセッションを続行し、それ以外の場合は SUPL END を送信してセッションを終了します。
GNSS_SetNMEALogging
このコマンドは、NMEA ログの状態を設定します。

このコマンドにより、GNSS ドライバーは NMEA 文字列を介してデータ修正情報の提供を開始または停止します。 GNSS ドライバーは、 GNSS_FIXDATA 構造で修正プログラムを提供し続ける必要があります。

パラメーターは、次の値を持つ DWORD です。

- GNSS_NMEALOGGING_NONE (0x00)
- GNSS_NMEALOGGING_ALL (0xFF)

このコマンドの既定値は、NMEA ログ記録 (GNSS_NMEALOGGING_NONE) はありません。

このコマンドは、システムの再起動後も保持されません。

このコマンドは、OEM テストをサポートするために導入されました。

このコマンドは、場所フレームワークまたは Microsoft テスト ツールでは使用されません。
GNSS_SetUplServerAccessInterval
このコマンドは、サービスの過負荷を防ぐために、サーバーへの要求間の最小時間をアシスト位置に設定します。 時間間隔は秒単位で指定します。

モバイル オペレーターは、必要に応じて、構成サービス プロバイダーを使用してこの設定を調整できます。 このパラメーターがサポートされていない場合は、 を無視できますが、SUPL 構成コマンドは失敗してはなりません。
GNSS_SetNiTimeoutInterval
このコマンドは、デフォルトアクションを実行するNI要求に応答する前に、デバイスがユーザからの入力を待機する必要がある時間を設定します。 時間間隔は秒単位で指定され、既定値は 35 秒です。 このタイムアウトは、ユーザーからの応答を待機するためにオペレーティング システムで使用されるタイムアウトより 5 秒大きく、オペレーティング システムが応答しない場合は単にフェールセーフです。

このコマンドは、ユーザーからの検証が要求されたネットワークによって開始される要求にのみ適用されます。 モバイル オペレーターは、構成サービス プロバイダーを使用して、オペレーティング システムの既定値をオーバーライドできます。 このような場合、上記で指定した既定値は、携帯電話会社によって提供される値に置き換える必要があります。
GNSS_ResetGeofencesTracking
このコマンドは、ジオフェンス追跡操作をリセットします。 GNSS ドライバーは、GNSS エンジンからすべてのジオフェンスを削除し、ジオフェンスの追跡を停止し、信号状態の監視を停止する必要があります。 ジオフェンス追跡操作は、HLOS が 1 つ以上の新しいジオフェンスを作成する場合にのみ通常どおりに開始されます。
GNSS_SetSuplVersion2
このコマンドは、GNSS ドライバーの SUPL 2 バージョンを設定します。
GNSS_CustomCommand
カスタム IHV 固有の GNSS コマンドの範囲: 0x0100 – 0x01FF。

要件

要件
Header gnssdriver.h