次の方法で共有


内部デバイス用の UWP デバイス アプリ

Important

デバイス メタデータは非推奨となり、Windows の今後のリリースで削除される予定です。 この機能の置き換えについては、「 ドライバー パッケージ コンテナー メタデータ」を参照してください。

このトピックでは、UWP デバイス アプリが内部デバイスにアクセスする方法について説明します。 Internal devices are devices that reside inside or are integrated with the PC enclosure.

このトピックで説明されている一部の API は、外部デバイスへのアクセスにも使用できます。 このトピックでは、特に内部デバイスへのアクセスに重点を置いています。 各 API の詳細については、 Windows API リファレンスを参照してください

内部デバイスへのアクセス

UWP アプリで内部デバイスにアクセスする方法は 3 つあります。

Recommended? API Developer デバイス メタデータは必要ですか?
Yes デバイス シナリオ API (イメージ キャプチャ、スキャンなど) all developers no
Yes デバイス プロトコル API (USB、HID など) OEM はい (内部デバイスのみ)
No カスタムドライバーアクセス権 OEM yes

デバイス シナリオ API

Windows ランタイムには、画像キャプチャ、スキャン、印刷、モーション センサーの使用のための API など、PC に組み込まれている、または PC に接続されている一般的なデバイスにアクセスするための API がいくつか用意されています。 これらの API は特定のシナリオを念頭に置いて設計されているため、 デバイス シナリオ API と呼ばれます。 デバイス シナリオ API は、すべての開発者が使用でき、デバイス メタデータを使用する必要はありません。 For more info about scenario APIs, see Integrating devices.

デバイス シナリオ API が提供する以上のアクセスは、OEM (またはコンポーネント サプライヤー、OEM と連携) に限定され、システム コンテナーのデバイス メタデータが必要です。

デバイス プロトコル API

OEM/コンポーネント サプライヤーは、シナリオ API で満たされていない方法で内部デバイスにアクセスする必要がある場合は、 デバイス プロトコル API を使用できます。 デバイス プロトコル API は、UWP アプリが USB およびヒューマン インターフェイス デバイス (HID) へのアクセスに使用できる Windows ランタイム API です。 アクセスの種類は API によって異なります。

デバイス プロトコル API Namespace Access type
USB Windows.Devices.Usb 排他読み取りおよび排他書き込み
HID Windows.Devices.HumanInterfaceDevice 共有読み取りおよび排他書き込み

デバイス プロトコル API の最も一般的な用途である Microsoft クラス ドライバーのみを使用する周辺機器にアクセスするには、デバイス メタデータは必要ありません。 ただし、これらの API を使用して内部デバイスにアクセスするには、メタデータが必要です。 内部デバイスにアクセスする場合は、デバイス メタデータでシステム コンテナーの特権アプリとしてアプリを指定する必要があります。 この要件により、OEM への内部デバイス アクセスが制限されます。

詳細については、以下を参照してください。

カスタムドライバーアクセス権

OEM または IHV がデバイス プロトコル API を使用して (内部または周辺機器の) デバイスにアクセスできない場合は、まず Microsoft に連絡して、Windows エコシステム チームとシナリオについて話し合う必要があります。 場合によっては、Microsoft の承認時に、UWP デバイス アプリからカスタム ドライバーに直接アクセスできます。

カスタム ドライバー アクセスには、デバイス メタデータが必要です。 カスタム ドライバーにアクセスするには、周辺機器またはシステム コンテナーの特権アプリとして、デバイス メタデータでアプリを指定する必要があります。 カスタム ドライバー アクセスの詳細については、 PC 内部の特殊なデバイスの UWP デバイス アプリ設計ガイドを参照してください。

Component suppliers

コンポーネント サプライヤーは OEM と協力して、内部デバイス用の UWP デバイス アプリを開発できます。 これは、次の 2 つの方法で発生する可能性があります。

  • コンポーネント サプライヤーはアプリを開発して配布します。この場合、コンポーネント サプライヤーは、内部デバイスにアクセスするアプリとドライバーを所有、開発、配布します。 OEM はデバイス メタデータを所有します。

  • OEM はアプリを開発して配布します。この場合、OEM は、異なるコンポーネント サプライヤーから 1 つ以上の内部デバイスにアクセスするアプリを開発して配布します。 OEM は最終的に、アプリの開発、アプリの配布、およびデバイス メタデータのメンテナンスを所有します。 コンポーネント サプライヤーがドライバーを所有している。

これらのワークフローの詳細については、 PC 内部の特殊なデバイスの UWP デバイス アプリ設計ガイドを参照してください。