次の方法で共有


Windows のセンサーと場所プラットフォームの概要

Windows オペレーティング システムは、センサー デバイスのネイティブ サポートを提供します。 このサポートには、GPS デバイスなどの位置センサーが含まれます。 このサポートの一環として、このプラットフォームは、デバイスの製造元がセンサー デバイスをソフトウェア開発者やコンシューマーに公開するための標準的な方法を提供します。 同時に、このプラットフォームにより、開発者はセンサーとセンサー データを操作するための標準化された API とデバイス ドライバー インターフェイス (DDI) が提供されます。 このセクションでは、Windows センサーと位置情報プラットフォームの概要、プラットフォームのさまざまな部分について説明し、各要素が連携してセンサーを操作するための包括的なシステムを提供する方法について説明します。

センサー デバイスの概要

センサーは多くの構成に含まれており、ある観点から見ると、物理現象に関するデータを提供するほとんどすべてのものをセンサーと呼ぶことができます。 通常、センサーはハードウェア デバイスと考えられていますが、論理センサーはソフトウェアまたはファームウェアのセンサー機能のエミュレーションを通じて情報を提供することもできます。 また、1 つのハードウェア デバイスに複数のセンサーを含めることができます。

センサーと位置プラットフォームは、センサーを カテゴリに分類し、広範なクラスのセンサー デバイスと、特定の種類のセンサーを表す 種類を表します。 たとえば、ビデオ ゲーム コントローラーのセンサーは、プレイヤーの手の位置と動きを検出できます。 この種のセンサーは、向きセンサーです。 その種類は 3-D 加速度計です。 コードでは、Windows はグローバル一意識別子 (GUID) を使用してカテゴリと型を表します。その多くは定義済みです。 デバイスの製造元は、必要に応じて新しい GUID を定義して発行することで、新しいカテゴリと種類を作成できます。

位置情報デバイスは、特に興味深いカテゴリの 1 つで構成されます。 今では、ほとんどの人はグローバル位置決めシステム(GPS)に精通しています。 Windows では、GPS は場所カテゴリの一部であるセンサーの一種です。 場所カテゴリには、他のセンサーの種類を含めることができます。 一部のセンサーの種類はソフトウェア ベースです。 たとえば、IP リゾルバーは、インターネット アドレスを使用して位置情報を提供します。 携帯電話の基地局の三角測量装置は、近くの基地局に基づいて位置を決定します。 別のセンサーは、Wi-Fi ネットワークの存在から場所を見つけます。

プラットフォームについて

Windows センサーと場所プラットフォームは、次の開発者コンポーネントとユーザー コンポーネントで構成されます。

  • DDI。 Windows には、センサー デバイスがコンピューターに接続し、他のサブシステムにデータを提供するための標準的な方法が用意されています。
  • Windows センサー API には、接続されたセンサーとセンサー データを操作するための一連のメソッド、プロパティ、イベントが用意されています。
  • Windows センサー API 上に構築された Windows Location API には、一連のプログラミング オブジェクトが用意されています。 これらのオブジェクトには、位置情報を操作するためのスクリプト オブジェクトが含まれます。
  • コントロール パネルを使用すると、コンピューター ユーザーは場所の設定を制御できます。

以降のセクションでは、これらの各コンポーネントについて説明します。

デバイス ドライバー インターフェイス

センサーの製造元は、Windows とセンサーを接続するデバイス ドライバーを作成できます。 センサー デバイス ドライバーは、Windows ユーザー モード ドライバー フレームワーク (UMDF) に基づく Windows ポータブル デバイス (WPD) ドライバー モデルを使用して実装されます。 多くのデバイス ドライバーは、これらのフレームワークを使用して記述されています。 これらのテクノロジが確立されているため、経験豊富なデバイス ドライバー プログラマは、使い慣れたタスクであるセンサー ドライバーの作成を見つけます。 センサー DDI は、特定の UMDF および WPD データ型とインターフェイスを使用します。 また、必要に応じ、センサー固有の WPD コマンドとパラメーターも定義します。

Windows (特にセンサーと場所プラットフォーム) にセンサーを公開するデバイス ドライバーを簡単に作成できるように、オペレーティング システムにはドライバー クラス拡張機能が含まれています。 センサー デバイス ドライバーに必要なコンポーネントであるこの COM オブジェクトは、プログラマが多数の定型コードを記述せずにセンサー ドライバーを実装できるようにする簡単なインターフェイス セットを提供します。 クラス拡張は、WPD 呼び出しを管理する必要性を減らしたり、排除したりすることもできます。 このドキュメントには、センサー DDI とクラス拡張オブジェクトに関する詳細情報が含まれています。

センサー API

Windows センサー API を使用すると、C++ 開発者は一連の COM インターフェイスを使用してセンサー ベースのプログラムを作成できます。 この API には、一般的なセンサー プログラミング タスク用のインターフェイスが用意されています。 これらのタスクには、カテゴリ、種類、または ID によるセンサーの管理が含まれます。 また、センサー イベントの管理、個々のセンサーとセンサー コレクションの操作、センサー データの処理を行うこともできます。 Windows SDK には、ソフトウェア開発者が Windows プログラムでセンサーを使用する方法をガイドするのに役立つヘッダー ファイル、ドキュメント、サンプル、ツールが含まれています。

位置情報API

Location API を使用すると、ユーザーのプライバシーを保護しながら、地理的な場所に関するデータを簡単に取得できます。 Location API は、オブジェクトを表す一連の COM インターフェイスを介してその機能を提供します。 COM の使用方法を理解しているプログラマは、これらのオブジェクトを使用できます。 スクリプトのサポートにより、ガジェットなどのローカル コンピューター ゾーンで実行されるプロジェクトの場所データに簡単にアクセスできます。 Windows SDK には、ヘッダー ファイル、ドキュメント (スクリプト リファレンス ドキュメントを含む)、サンプル、およびツールが含まれており、Web 開発者やソフトウェア開発者がプログラムで位置情報を使用する方法をガイドするのに役立ちます。

ユーザー コントロール パネル

Windows には、コンピューター ユーザーが場所の設定を有効または無効にできるコントロール パネルが含まれています。 この設定では機密データが公開される可能性があるため、このユーザー インターフェイスを使用すると、プログラムが自分の場所にアクセスできるかどうかをユーザーが制御できます。

ホワイトペーパー

タイトル 説明
HID センサーの使用状況 このホワイト ペーパーでは、Windows 8 以降のオペレーティング システム用 HID センサー クラス ドライバーに関する情報を提供します。
環境光センサーと Windows 10 Creators Update を実行しているコンピューターの統合 このホワイト ペーパーでは、Windows 10 オペレーティング システムの環境光センサー (ALS) 機能に関する情報を提供します。
モーションセンサーと方位センサーの統合 このホワイト ペーパーは、OEM、ODM、および IHV が、Windows 10 以前のオペレーティング システムのモーションおよび方向センサーの機能と要件を理解するのに役立ちます。