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 |
Header | wdfdevice.h (Wdf.h を含む) |