WDF_PNPPOWER_EVENT_CALLBACKS構造体 (wdfdevice.h)
[KMDF と UMDF に適用]
WDF_PNPPOWER_EVENT_CALLBACKS 構造体には、ドライバーのプラグ アンド プレイと電源イベントコールバック関数へのポインターが含まれています。
構文
typedef struct _WDF_PNPPOWER_EVENT_CALLBACKS {
ULONG Size;
PFN_WDF_DEVICE_D0_ENTRY EvtDeviceD0Entry;
PFN_WDF_DEVICE_D0_ENTRY_POST_INTERRUPTS_ENABLED EvtDeviceD0EntryPostInterruptsEnabled;
PFN_WDF_DEVICE_D0_EXIT EvtDeviceD0Exit;
PFN_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtDeviceD0ExitPreInterruptsDisabled;
PFN_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware;
PFN_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware;
PFN_WDF_DEVICE_SELF_MANAGED_IO_CLEANUP EvtDeviceSelfManagedIoCleanup;
PFN_WDF_DEVICE_SELF_MANAGED_IO_FLUSH EvtDeviceSelfManagedIoFlush;
PFN_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtDeviceSelfManagedIoInit;
PFN_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtDeviceSelfManagedIoSuspend;
PFN_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtDeviceSelfManagedIoRestart;
PFN_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval;
PFN_WDF_DEVICE_QUERY_REMOVE EvtDeviceQueryRemove;
PFN_WDF_DEVICE_QUERY_STOP EvtDeviceQueryStop;
PFN_WDF_DEVICE_USAGE_NOTIFICATION EvtDeviceUsageNotification;
PFN_WDF_DEVICE_RELATIONS_QUERY EvtDeviceRelationsQuery;
PFN_WDF_DEVICE_USAGE_NOTIFICATION_EX EvtDeviceUsageNotificationEx;
} WDF_PNPPOWER_EVENT_CALLBACKS, *PWDF_PNPPOWER_EVENT_CALLBACKS;
メンバー
Size
この構造体のサイズ (バイト単位)。
EvtDeviceD0Entry
ドライバーの EvtDeviceD0Entry イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceD0EntryPostInterruptsEnabled
ドライバーの EvtDeviceD0EntryPostInterruptsEnabled イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceD0Exit
ドライバーの EvtDeviceD0Exit イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceD0ExitPreInterruptsDisabled
ドライバーの EvtDeviceD0ExitPreInterruptsDisabled イベント コールバック関数へのポインター、または NULL をします。
EvtDevicePrepareHardware
ドライバーの EvtDevicePrepareHardware イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceReleaseHardware
ドライバーの EvtDeviceReleaseHardware イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceSelfManagedIoCleanup
ドライバーの EvtDeviceSelfManagedIoCleanup イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceSelfManagedIoFlush
ドライバーの EvtDeviceSelfManagedIoFlush イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceSelfManagedIoInit
ドライバーの EvtDeviceSelfManagedIoInit イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceSelfManagedIoSuspend
ドライバーの EvtDeviceSelfManagedIoSuspend イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceSelfManagedIoRestart
ドライバーの EvtDeviceSelfManagedIoRestart イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceSurpriseRemoval
ドライバーの EvtDeviceSurpriseRemoval イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceQueryRemove
ドライバーの EvtDeviceQueryRemove イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceQueryStop
ドライバーの EvtDeviceQueryStop イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceUsageNotification
ドライバーの EvtDeviceUsageNotification イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceRelationsQuery
ドライバーの EvtDeviceRelationsQuery イベント コールバック関数へのポインター、または NULL をします。
EvtDeviceUsageNotificationEx
ドライバーの EvtDeviceUsageNotificationEx イベント コールバック関数へのポインター、または NULL をします。 EvtDeviceUsageNotificationEx メンバーは、バージョン 1.11 以降のバージョンの KMDF で使用できます。 ドライバーは、EvtDeviceRelationsQuery 登録することも、EvtDeviceUsageNotificationEx をすることもできますが、両方を登録することはできません。
注釈
WDF_PNPPOWER_EVENT_CALLBACKS 構造体は、WdfDeviceInitSetPnpPowerEventCallbacks メソッドへの入力として使用されます。
ドライバーは、WDF_PNPPOWER_EVENT_CALLBACKS_INITを呼び出すことによって、WDF_PNPPOWER_EVENT_CALLBACKS構造体を初期化する必要があります。
必要条件
要件 | 価値 |
---|---|
最小 KMDF バージョン | 1.0 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfdevice.h (Wdf.h を含む) |