次の方法で共有


ハードウェア通知サポート

適用対象

  • ドライバー開発者と OEM

重要な API

Windows 10 バージョン 1709 には、通知コンポーネント (LED、振動のメカニズムなど) のハードウェアに依存しないサポート用のインフラストラクチャが用意されています。 このサポートは、クライアント ドライバーの迅速な開発を可能にするハードウェア通知コンポーネント専用のカーネルモード ドライバー フレームワーク (KMDF) クラスの拡張を導入することで提供されます。 KMDF クラスの拡張は、本質的には、特定のクラスのデバイス用に定義された機能セットを提供する KMDF ドライバーであり、Windows Driver Model (WDM) 内のポート ドライバーと同様です。 このセクションでは、ハードウェア通知クラスの拡張のアーキテクチャの概要を示します。 KMDF の詳細については、「Using WDF to Develop a Driver (WDF を使用したドライバーの開発)」をご覧ください。

ハードウェア通知クラス拡張機能

ハードウェア通知クラス拡張機能は、ハードウェア通知ドライバー アーキテクチャの中心的なコンポーネントです。 クラス拡張機能は、KMDF との必要な相互作用を最小限に抑え、代わりに通知コンポーネントを制御するための簡単なインターフェイスを提供するように設計されています。 クラス拡張機能は、次のようなタスクを処理します。

  • クライアント ドライバーの登録
  • システム リソースの割り当てとクリーンアップ
  • クライアント ドライバーの PnP 電源コールバック関数の登録
  • クライアント ドライバーの I/O キューの登録
  • データの検証とエラーのチェック
  • クライアント ドライバーに対するハードウェア要求の通信

次の図は、基本的なハードウェア通知クラス拡張機能アーキテクチャを示しています。

hwn clx architecture.

ハードウェア通知クライアント ドライバー

ハードウェア通知クラス拡張機能を使用することで、ハードウェア通知コンポーネント用のクライアント ドライバーを簡単に生成できます。 クライアント ドライバーの役割は、KMDF への適切なエントリ ポイントの提供、定義済みのクラス拡張機能コールバック関数の実装、電源状態の管理、および物理ハードウェアの制御のみです。 具体的には、クライアント ドライバーは、Windows Driver Foundation (WDF) で使用する DriverEntry および EVT_WDF_DRIVER_DEVICE_ADD コールバック関数に加えて、クラス拡張機能に必要なコールバック関数を実装する必要があります。

次の図は、クライアント ドライバーの観点からの相互作用を示しています。

client driver arch.