ドライバーでの PnP と電源管理のサポート

既定では、フレームワークは、システムがフレームワーク ベースのドライバーに送信するすべての PnP および電源管理要求を処理します。 さらに、既定では、フレームワークは、ドライバーのハードウェアが使用可能であり、その動作 (D0) 状態である場合にのみ、関数ドライバーに I/O 要求を配信します。

フレームワーク ベースのドライバーを記述するときは、フレームワークの既定の動作の多くを使用して、デバイスの PnP と電源管理機能を簡単にサポートできます。 ただし、ドライバー スタック内のすべてのドライバーが、フレームワークの既定の PnP と電源管理の動作のみを使用する場合、デバイスはおそらく正常に動作しません。 たとえば、デバイスのファンクション ドライバーは、デバイスが動作 (D0) 状態になったときにデバイスを有効にする必要がある場合があります。

そのため、フレームワーク デバイス オブジェクトは、一連のイベント コールバック関数と、PnP および電源管理操作に参加するフレームワーク ベースのドライバーを有効にするオブジェクト メソッドのセットを提供します。 これらのコールバック関数とオブジェクト メソッドを使用することにより、スタック内の各ドライバーは、必要な PnP と電源管理のサポートのみを提供できます。

通常、ドライバー スタック内のさまざまなドライバーはそれぞれ、いくつかの PnP および電源管理操作をサポートします。 ドライバーがサポートする必要のある操作は、作成するドライバーの種類と、デバイスが提供する機能によって異なります。 ドライバーがサポートする必要のある操作の詳細については、次を参照してください。