ユニバーサル Windows ドライバーの概要Getting Started with Universal Windows drivers

ユニバーサル Windows ドライバーを使うと、組み込みシステムからタブレットやデスクトップ PC まで、複数の種類のデバイスで動作する 1 つのドライバー パッケージを作成できます。Universal Windows drivers enable developers to create a single driver package that runs across multiple different device types, from embedded systems to tablets and desktop PCs.

ユニバーサル Windows ドライバー パッケージには INF ファイルとバイナリが含まれ、Windows 10 のユニバーサル Windows プラットフォーム (UWP) ベース エディション、および共通のインターフェイス セットを共有する Windows 10 の他のエディションにインストールされて動作します。A Universal Windows driver package contains an INF file and binaries that install and run on Universal Windows Platform (UWP) based editions of Windows 10 as well as other Windows 10 editions that share a common set of interfaces.

ドライバー バイナリは、KMDFUMDF 2、または Windows Driver Model (WDM) を使うことができます。The driver binary can use KMDF, UMDF 2 or the Windows Driver Model (WDM).

ユニバーサル ドライバーは、ベース ドライバー、オプション コンポーネント パッケージ、およびオプションのハードウェア サポート アプリの部分で構成されます。A universal driver consists of the following parts: a base driver, optional component packages, and an optional hardware support app. ベース ドライバーには、すべてのコア機能と共有コードが含まれます。The base driver contains all core functionality and shared code. 別に、オプション コンポーネント パッケージには、カスタマイズおよびその他の設定を含めることができます。Separately, optional component packages can contain customizations and additional settings.

通常、デバイスの製造元 (IHV) はベース ドライバーに書き込み、システム ビルダー (OEM) は、すべてのオプション コンポーネント パッケージを提供します。Typically, a device manufacturer (IHV) writes the base driver, and a system builder (OEM) provides any optional component packages.

IHV がベース ドライバーを認定したら、すべての OEM システムで展開できます。After IHV has certified the base driver, it can be deployed on all OEM systems. ベース ドライバーは、ハードウェア部分を共有するすべてのシステム全体で使用できるため、Microsoft では、特定のコンピューターに配布を限定するのではなく、Windows Insider のフライティングを介してベース ドライバーを広範にテストできます。Because a base driver can be used across all systems that share a hardware part, Microsoft can test the base driver broadly via Windows Insider flighting, rather than limiting distribution to specific machines.

OEM は、OEM デバイスに対して提供するオプションのカスタマイズのみを検証します。The OEM validates only the optional customizations that it provides for the OEM device.

ユニバーサル ドライバーは、Windows Update を通じて配布され、ハードウェア サポート アプリは Microsoft Store で配布されます。Universal drivers are distributed through Windows Update, and hardware support apps are distributed through the Store.

設計原則Design Principles

ユニバーサル ドライバー パッケージを作成するときは、4 つの設計原則を考慮する必要があります。When you write a universal driver package, there are four design principles to consider:

  • 宣言型 ("D") : 宣言型 INF ディレクティブのみを使用してドライバーをインストールし、共同インストーラーや RegisterDlls などを含めません。Declarative ("D"): Install the driver using only declarative INF directives and do not include any co-installers, RegisterDlls, etc.
  • コンポーネント化済み ("C") : ドライバーに対するエディション固有、OEM 固有、オプションのカスタマイズはベース ドライバー パッケージとは別であるため、コアとなるデバイス機能のみを提供するベース ドライバーをカスタマイズからは独立して対象にし、フライティングおよび処理することができます。Componentized ("C"): Edition-specific, OEM-specific and optional customizations to the driver are separate from the base driver package, so that the base driver, which provides only core device functionality, can be targeted, flighted and serviced independently from the customizations.
  • ハードウェア サポート アプリ ("H") :ユニバーサル ドライバーに関連付けられているユーザー インターフェイス (UI) コンポーネントはハードウェア サポート アプリ (HSA) としてパッケージ化するか、OEM デバイスにプレインストールする必要があります。Hardware Support Apps ("H"): Any user interface (UI) component associated with a universal driver must be packaged as a Hardware Support App (HSA) or preinstalled on the OEM device. HSA は、特定のドライバーと関連付けられたオプションのデバイス固有のアプリです。An HSA is an optional device-specific app that is paired with a driver. このアプリケーションは、場合によって、ユニバーサル Windows プラットフォーム (UWP) またはデスクトップ ブリッジ アプリとなります。The application can be a Universal Windows Platform (UWP) or a Desktop Bridge app. HSA の配布と更新は、Microsoft Store を通じて行う必要があります。You must distribute and update an HSA through the Microsoft Store. 詳しくは、「Hardware Support App (HSA): Steps for Driver Developers (ハードウェア サポート アプリ (HSA): ドライバー開発者向け手順)」および「Hardware Support App (HSA): Steps for App Developers (ハードウェア サポート アプリ (HSA): アプリ開発者向け手順)」をご覧ください。For details, see Hardware Support App (HSA): Steps for Driver Developers and Hardware Support App (HSA): Steps for App Developers.
  • ユニバーサル API コンプライアンス ("U") : ユニバーサル ドライバー パッケージ内のバイナリは、Windows 10 の UWP ベースのエディションに含まれる API と DDI だけを呼び出します。Universal API compliance ("U"): Binaries in the universal driver package only call APIs and DDIs that are included in UWP-based editions of Windows 10. このような DDI には、ドキュメントのリファレンス ページで "ユニバーサル" というマークが付いています。These DDIs are marked as Universal on the corresponding documentation reference pages. INF ファイルは、ユニバーサル INF 構文のみを使います。INF files use only universal INF syntax.

このドキュメントでは、上記の原則を参照する際に頭字語 DCHU を使用します。In the documentation, we use the acronym DCHU to refer to the above principles. ドライバー パッケージを DCHU 互換にする方法については、以下にガイダンスを示しています。Below, you'll find guidance on how to make your driver package DCHU-compliant. DCHU ユニバーサル ドライバー サンプルでの DCHU 設計原則の適用方法について説明されている「ユニバーサル ドライバーのシナリオ」もご覧ください。Also check out Universal Driver Scenarios, which describes how the DCHU universal driver sample applies the DCHU design principles.

要件Requirements

ユニバーサル ドライバー パッケージを作成するときは以下のことが必要です。The following are required when writing a universal driver package:

ベスト プラクティスBest Practices