次の方法で共有


GNSS_DEVICE_CAPABILITY構造体 (gnssdriver.h)

GNSS_DEVICE_CAPABILITY構造体は、基になる GNSS エンジンのデバイス機能を決定するために使用されます。

構文

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;

メンバー

Size

構造体のサイズ。

Version

バージョン番号。

SupportMultipleFixSessions

GNSS ドライバーが同じ種類の複数のセッション (HLOS によって開始された複数の同時距離追跡セッションなど) をネイティブにサポートするかどうかを示します。 FALSE の場合、GNSS アダプターは、複数の LBS アプリからの修正セッション要求を多重化して、すべてのクライアント要求を満たす 1 つの修正セッション要求に結合します。

この機能が存在しない場合、ドライバーは、サポートされている各修正セッションの種類のアクティブなセッションを少なくとも 1 つサポートする必要があります。 たとえば、ドライバーが距離ベースの追跡とシングルショット機能をサポートしている場合、1 つの距離ベースの修正セッションと 1 つのシングルショット修正セッションを同時にアクティブにする必要があります。

新しい修正要求を多重化する必要があるときに GNSS アダプターが進行中の修正セッションを停止または開始する必要がないように、ドライバーはアクティブな修正セッションの種類のセッション パラメーターの変更を常にサポートする必要があります。 Windows 10では、GNSS アダプターは、同じ種類の GNSS ドライバーの複数のセッションでの開始をサポートしていません。

SupportMultipleAppSessions

GNSS ドライバーが、複数の HLOS アプリケーションからの要求をネイティブにサポートおよび追跡するかどうかを示します。 GNSS ドライバーは、同時に複数のアプリケーションから呼び出されるように制限することはできません。

TRUE の値は、ドライバーがさまざまな HLOS アプリケーション セッションを追跡し、要求を論理的にパーティション分割し、あるアプリケーション セッションからの要求が別のアプリケーション セッションに影響しないようにすることを示します。 たとえば、GNSS アダプターとテスト アプリケーションを個別に処理し、それぞれのコマンドに個別に応答することができます。

FALSE の値は、ドライバーが異なる HLOS アプリケーション セッションを区別せず、すべてが 1 つの HLOS アプリケーション セッションから取得されているかのように、グローバルな方法ですべてを論理的に処理することを示します。

RequireAGnssInjection

GNSS ドライバーで、TTFF を高速化するために支援データを挿入する必要があるかどうかを示します。

AgnssFormatSupported

ドライバーが処理できるさまざまな AGNSS 形式 (GNSS_AGNSSFORMAT_*) を含むビットマスクを指定します。

#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

0x0080-0xFFFFの値は、拡張性のために予約されています。

この一覧には現在、いくつかの IHV 独自の形式が含まれています。 このリストは、IHV または OEM が、位置情報プラットフォームを介して GNSS アシスタンス情報 (特に拡張 ephemeris) を取得することを決定した場合に更新できます。

AgnssFormatPreferred

AgnssFormatSupported と同じビットマスクを使用して、優先する AGNSS 形式を指定します。 たとえば、XTRA1 と XTRA2 の両方がサポートされているが、XTRA2 が優先形式である場合、GNSS ドライバーは AgnssFormatSupported を 0x000C に設定し、AgnssFormatPreferred を0x0004に設定します。

SupportDistanceTracking

GNSS ドライバーまたはエンジンが、セッション固有のしきい値に基づいてデバイスの低電力追跡をネイティブにサポートするかどうかを示します。 TRUE 値は、ドライバーが低電力モードでこれをネイティブにサポートできることを意味します。たとえば、低電力プロセッサに追跡をオフロードし、アプリ プロセッサを稼働させて移動をポーリングする必要はありません。

GNSS ドライバーが距離追跡をサポートしている場合、他の種類の並列修正セッションが同時に暗黙的にサポートされます。 たとえば、距離追跡セッションがアクティブな場合は、並列シングルショットも許可する必要があり、両方のタイプの修正セッションを受け入れる必要があります。

SupportContinuousTracking

GNSS ドライバー/エンジンがデバイスの継続的な低電力追跡をネイティブにサポートするかどうかを示します。 TRUE 値は、ドライバーが低電力モードでこれをネイティブにサポートできることを意味します。たとえば、低電力プロセッサに追跡をオフロードし、アプリ プロセッサを稼働させて継続的にポーリングする必要はありません。

GNSS ドライバーが継続的追跡をサポートしている場合、他の種類の並列修正セッションが同時に暗黙的にサポートされます。 たとえば、シングルショットと連続トラッキングは並列で行うことができます。

Reserved1

将来使用するために予約されています。

Reserved2

将来使用するために予約されています。

Reserved3

将来使用するために予約されています。

Reserved4

将来使用するために予約されています。

Reserved5

将来使用するために予約されています。

GeofencingSupport

バージョン 1 GNSS ドライバーは、この機能がサポートされていないことを示す必要があります。

バージョン 2 GNSS ドライバー以降では、次のビットマスクを設定することでジオフェンスのサポートを示すことができます。

#define GNSS_GEOFENCESUPPORT_SUPPORTED     0x01
#define GNSS_GEOFENCESUPPORT_CIRCLE        0x02

GNSS_GEOFENCESUPPORT_SUPPORTEDは、GNSS エンジンがジオフェンス追跡をサポートしていることを示します。 ジオフェンス追跡機能のサポートは、電力最適化された方法でネイティブに行われ、該当する GNSS エンジンで使用可能な適切なハイブリッド配置テクノロジを使用することを意味します。

GNSS_GEOFENCESUPPORT_CIRCLEは、GNSS エンジンが円形ジオフェンスをサポートしていることを示します。

Reserved6

将来使用するために予約されています。

Reserved7

将来使用するために予約されています。

SupportCpLocation

CP の場所をサポートするかどうかを指定します。

SupportUplV2

CDMA の V2 ユーザー プレーンの場所をサポートするかどうかを指定します。

SupportSuplV1

SUPL V1 がサポートされているかどうかを指定します。

SupportSuplV2

SUPL V2 をサポートするかどうかを指定します。

SupportedSuplVersion

SUPL クライアントでサポートされている最新の SUPL バージョンを指定します。 このバージョン情報は現在、検証の目的で HLOS では使用されていません。

MaxGeofencesSupported

プラットフォームによって設定された制約に基づいて GNSS エンジンが追跡できるジオフェンスの数を指定します。 この値は、GeofencingSupport フィールドが設定されている場合にのみ有効です。

SupportMultipleSuplRootCert

SUPL パラメーターを指定します。

GnssBreadCrumbPayloadVersion

BREADCRUMBING_UNSUPPORTEDまたはBREADCRUMBING_VERSION_x である必要があります。

MaxGnssBreadCrumbFixes

MIN_BREADCRUMBS_SUPPORTED以上である必要があります。

Unused[496]

今後の使用のために予約されたパディング バッファー。

注釈

これは、個々の機能サポートの一覧です。 この機能は、ブール値または特定の属性の明確に定義された列挙によって表されます。

要件

要件
Header gnssdriver.h (Gnssdriver.h を含む)