デバイスの電源機能のレポート

列挙中、ドライバーは PnP IRP_MN_QUERY_CAPABILITIES 要求に応答してデバイス固有の情報を報告します。 その他の情報と共に、ドライバーはデバイスの電源管理機能を DEVICE_CAPABILITIES 構造体で報告します。 通常、バス ドライバーがこの構造体を埋めます。

上位レベルのドライバーは、構造体のローカル コピーを作成し、適切な値が含まれていることを確認できるように、クエリ機能 IRP の IoCompletion ルーチンを設定する必要があります。 原則として、上位レベルのドライバーはこれらの値を変更しないでください。 ただし、変更が必要な場合、ドライバーはデバイスの機能をさらに制限できますが、追加することはできません。 言い換えると、ドライバーはルールをより制限的にすることができますが、それらを緩めることはできません。

IRP が完了し、すべてのドライバーの完了ルーチンが実行されると、構造体がキャッシュされ、ドライバーはその内容を変更できません。

DEVICE_CAPABILITIES 構造の次のメンバーは、電源管理に関係があります。

DeviceD1 と DeviceD2

WakeFromD0、WakeFromD1、WakeFromD2、WakeFromD3

DeviceState

SystemWake

DeviceWake

D1Latency、D2Latency、D3Latency