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 を呼び出します。

デバイスのドライバー スタック内の複数のドライバーが WdfDeviceSetPowerCapabilities を呼び出す場合、電源マネージャーは、スタック内で最も高いドライバーによって提供される値を使用します。

次のコード例では、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
Header wdfdevice.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)

こちらもご覧ください

WDF_DEVICE_POWER_CAPABILITIES

WDF_DEVICE_POWER_CAPABILITIES_INIT

WdfDeviceSetPnpCapabilities