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を返します。 その他の戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
無効なパラメーターが検出されました。 |
|
操作を完了するためのメモリが不足しています。 |
注釈
ドライバーが 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) |