ハードウェア通知

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

KMDF の詳細については、「Using WDF to Develop a Driver (WDF を使用したドライバーの開発)」をご覧ください。

ハードウェア通知のサポートを提供するには、次のものが必要です。

列挙

 
HWN_CLX_EXPORT_INDEX

エクスポート テーブル内の各ハードウェア通知エクスポートの位置を定義します。

関数

 
HWN_CLIENT_GET_STATE

ハードウェア通知コンポーネントの状態を取得するためにクライアント ドライバーによって実装されます。 これは、ユーザーが状態情報を要求したときに呼び出されます。
HWN_CLIENT_INITIALIZE_DEVICE

クライアント ドライバーによって実装され、EVT_WDF_DEVICE_PREPARE_HARDWAREの呼び出しの結果として呼び出されます。
HWN_CLIENT_QUERY_DEVICE_INFORMATION

ハードウェア通知コンポーネント属性を取得するためにクライアント ドライバーによって実装されます。
HWN_CLIENT_SET_STATE

ハードウェア通知コンポーネントの状態を設定するためにクライアント ドライバーによって実装されます。 ユーザーがドライバーの状態を変更する場合に呼び出されます。
HWN_CLIENT_START_DEVICE

ハードウェア通知コンポーネントを開始するためにクライアント ドライバーによって実装されます。 EVT_WDF_DEVICE_D0_ENTRYの呼び出しの結果として呼び出されます。
HWN_CLIENT_STOP_DEVICE

ハードウェア通知コンポーネントを起動するためにクライアント ドライバーによって実装されます。 EVT_WDF_DEVICE_D0_EXITの呼び出しの結果として呼び出されます。
HWN_CLIENT_UNINITIALIZE_DEVICE

クライアント ドライバーによって実装され、EVT_WDF_DEVICE_RELEASE_HARDWAREの呼び出しの結果として呼び出されます。 このコールバック関数は、ハードウェア通知コンポーネントを初期化解除します。
HwNProcessAddDevicePostDeviceCreate

I/O キューを作成します。 これは、クライアント ドライバーの EVT_WDF_DRIVER_DEVICE_ADD コールバック関数が呼び出され、デバイス オブジェクトが作成された後に呼び出す必要があります。
HwNProcessAddDevicePreDeviceCreate

デバイスを別の状態に移行するために、Windows Driver Foundation (WDF) にデバイスの準備/リリースコールバックと開始/終了コールバックを提供します。
HwNRegisterClient

ハードウェア通知クライアント ドライバーとそのコールバック関数をクラス拡張機能に登録します。
HwNUnregisterClient

クラス拡張機能を使用して、ハードウェア通知クライアント ドライバーとそのコールバック関数の登録を解除します。 この関数は、クライアント ドライバーがアンロードされるときに呼び出す必要があります。

構造

 
CLIENT_DEVICE_INFORMATION

CLIENT_DEVICE_INFORMATION構造体は、クライアント デバイス ドライバーが提供するハードウェア通知の合計数を返すために、ハードウェア通知コールバック HWN_CLIENT_QUERY_DEVICE_INFORMATIONによって使用されます。
HWN_CLIENT_REGISTRATION_PACKET

クライアント ドライバーの登録時にクラス拡張機能に渡されるハードウェア通知クライアント ドライバー登録パケット。 バージョン情報とクライアント ドライバーコールバック関数が含まれています。