ソフトウェア専用ドライバーでの PnP と電源管理のサポート
ソフトウェア専用ドライバー は、ハードウェアにアクセスしないドライバーです。 一部のソフトウェア専用ドライバーは、ハードウェアにアクセスしないドライバー スタックに存在します。 これらのドライバーはハードウェアにアクセスしないため、通常、PnP または電源管理操作を実行する必要はありません。
その他のソフトウェア専用ドライバーはフィルター ドライバーです。これらは、ハードウェアにアクセスするドライバーのスタックに存在しますが、フィルター ドライバーはハードウェアにアクセスしません。 フィルター ドライバーが PnP または電源管理操作を指定する I/O 要求を受信すると、通常、ドライバーは次のドライバーに要求を渡します。 フレームワークはこれらの要求をインターセプトして渡すので、フレームワーク ベースのドライバーには要求が表示されません。
ソフトウェア専用ドライバーを作成する場合、ドライバーはデバイス オブジェクトを作成しますが、通常、PnP または電源管理イベントを処理するためのイベント コールバック関数を提供する必要はありません。 ドライバーがフレームワーク キュー オブジェクトを使用する場合は、キューの WDF_IO_QUEUE_CONFIG 構造体の PowerManaged メンバーを WdfFalse または WdfUseDefault に設定する必要があります。
一部のソフトウェア専用ドライバーもファンクション ドライバーです。 言い換えると、単一のドライバーは、ハードウェアにアクセスしない仮想デバイスをサポートするソフトウェア専用ドライバーとして機能し、ハードウェア デバイスをサポートするファンクション ドライバーとして機能する場合があります。