WdfDeviceInitRegisterPowerStateChangeCallback 関数 (wdfdevice.h)

[KMDF にのみ適用]

注意

このメソッドは、Microsoft の内部使用のみを目的としています。

WdfDeviceInitRegisterPowerStateChangeCallback メソッドは、デバイスの電源状態マシンが状態を変更したときにフレームワークが呼び出すドライバー指定のイベント コールバック関数を登録します。

構文

NTSTATUS WdfDeviceInitRegisterPowerStateChangeCallback(
  [in] PWDFDEVICE_INIT                                DeviceInit,
  [in] WDF_DEVICE_POWER_STATE                         PowerState,
  [in] PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
  [in] ULONG                                          CallbackTypes
);

パラメーター

[in] DeviceInit

WDFDEVICE_INIT構造体への呼び出し元が指定したポインター。

[in] PowerState

ドライバー 通知を要求している電源マシンの状態を識別するWDF_DEVICE_POWER_STATE列挙子。

[in] EvtDevicePowerStateChange

ドライバーの EvtDevicePowerStateChange イベント コールバック関数への呼び出し元が指定したポインター。

[in] CallbackTypes

WDF_STATE_NOTIFICATION_TYPE型指定された列挙子の ORed の組み合わせ。

戻り値

操作が成功すると、 WdfDeviceInitRegisterPowerStateChangeCallback はSTATUS_SUCCESSを返します。 その他の戻り値は次のとおりです。

リターン コード 説明
STATUS_INVALID_PARAMETER
無効なパラメーターが検出されました。
STATUS_INSUFFICIENT_RESOURCES
操作を完了するためのメモリが不足しています。

注釈

ドライバーが WdfDeviceInitRegisterPowerStateChangeCallback を呼び出す場合は、 WdfDeviceCreate を呼び出す前に呼び出す必要があります。

WdfDeviceCreate の呼び出しの詳細については、「フレームワークのステート マシン」を参照してください。

次のコード例では、デバイスの電源状態マシンが状態を変更したときにフレームワークが呼び出すイベント コールバック関数を登録します。

status = WdfDeviceInitRegisterPowerStateChangeCallback(
                                     DeviceInit,
                                     WdfDevStatePowerD0StartingConnectInterrupt,
                                     PciDrvPowerStateChangeCallback,
                                     StateNotificationAllStates
                                     );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
Header wdfdevice.h (Wdf.h を含む)
Library Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf)InitFreeDeviceCallback(kmdf)InitFreeDeviceCreate(kmdf)InitFreeNull(kmdf)KmdfIrql(kmdf)、KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、PdoDeviceInitAPI(kmdf)PdoInitFreeDeviceCallback(kmdf)PdoInitFreeDeviceCreate(kmdf)