WdfDeviceSetPowerCapabilities 関数 (wdfdevice.h)
[KMDF と UMDF に適用]
WdfDeviceSetPowerCapabilities メソッドは、デバイスの電源機能を報告します。
構文
void WdfDeviceSetPowerCapabilities(
[in] WDFDEVICE Device,
[in] PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
);
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
[in] PowerCapabilities
ドライバーによって割り当てられた WDF_DEVICE_POWER_CAPABILITIES 構造体へのポインター。
戻り値
何一つ
備考
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
ドライバーは通常、次のいずれかのコールバック関数内から WdfDeviceSetPowerCapabilities 呼び出します。
-
EvtDriverDeviceAdd の
-
EvtDevicePrepareHardware の
-
EvtDeviceD0Entry (PreviousState パラメーターの値が WdfPowerDeviceD3Final 場合)
-
EvtDeviceSelfManagedIoInit の
-
EvtChildListCreateDevice の
例
次のコード例では、WDF_DEVICE_POWER_CAPABILITIES構造体を初期化し、WdfDeviceSetPowerCapabilitiesを呼び出します。
WDF_DEVICE_POWER_CAPABILITIES powerCaps;
WDF_DEVICE_POWER_CAPABILITIES_INIT(&powerCaps);
powerCaps.DeviceD1 = WdfTrue;
powerCaps.WakeFromD1 = WdfTrue;
powerCaps.DeviceWake = PowerDeviceD1;
powerCaps.DeviceState[PowerSystemWorking] = PowerDeviceD1;
powerCaps.DeviceState[PowerSystemSleeping1] = PowerDeviceD1;
powerCaps.DeviceState[PowerSystemSleeping2] = PowerDeviceD2;
powerCaps.DeviceState[PowerSystemSleeping3] = PowerDeviceD2;
powerCaps.DeviceState[PowerSystemHibernate] = PowerDeviceD3;
powerCaps.DeviceState[PowerSystemShutdown] = PowerDeviceD3;
WdfDeviceSetPowerCapabilities(
device,
&powerCaps
);
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.0 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfdevice.h (Wdf.h を含む) |
ライブラリ | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |