// wdfdevice.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
[Applies to KMDF and UMDF]
The WDF_PNPPOWER_EVENT_CALLBACKS structure contains pointers to a driver's Plug and Play and power event callback functions.
SizeThe size, in bytes, of this structure.
EvtDeviceD0EntryA pointer to the driver's EvtDeviceD0Entry event callback function, or NULL.
EvtDeviceD0EntryPostInterruptsEnabledA pointer to the driver's EvtDeviceD0EntryPostInterruptsEnabled event callback function, or NULL.
EvtDeviceD0ExitA pointer to the driver's EvtDeviceD0Exit event callback function, or NULL.
EvtDeviceD0ExitPreInterruptsDisabledA pointer to the driver's EvtDeviceD0ExitPreInterruptsDisabled event callback function, or NULL.
EvtDevicePrepareHardwareA pointer to the driver's EvtDevicePrepareHardware event callback function, or NULL.
EvtDeviceReleaseHardwareA pointer to the driver's EvtDeviceReleaseHardware event callback function, or NULL.
EvtDeviceSelfManagedIoCleanupA pointer to the driver's EvtDeviceSelfManagedIoCleanup event callback function, or NULL.
EvtDeviceSelfManagedIoFlushA pointer to the driver's EvtDeviceSelfManagedIoFlush event callback function, or NULL.
EvtDeviceSelfManagedIoInitA pointer to the driver's EvtDeviceSelfManagedIoInit event callback function, or NULL.
EvtDeviceSelfManagedIoSuspendA pointer to the driver's EvtDeviceSelfManagedIoSuspend event callback function, or NULL.
EvtDeviceSelfManagedIoRestartA pointer to the driver's EvtDeviceSelfManagedIoRestart event callback function, or NULL.
EvtDeviceSurpriseRemovalA pointer to the driver's EvtDeviceSurpriseRemoval event callback function, or NULL.
EvtDeviceQueryRemoveA pointer to the driver's EvtDeviceQueryRemove event callback function, or NULL.
EvtDeviceQueryStopA pointer to the driver's EvtDeviceQueryStop event callback function, or NULL.
EvtDeviceUsageNotificationA pointer to the driver's EvtDeviceUsageNotification event callback function, or NULL.
EvtDeviceRelationsQueryA pointer to the driver's EvtDeviceRelationsQuery event callback function, or NULL.
EvtDeviceUsageNotificationExA pointer to the driver's EvtDeviceUsageNotificationEx event callback function, or NULL. The EvtDeviceUsageNotificationEx member is available in version 1.11 and later versions of KMDF. A driver can register either EvtDeviceRelationsQuery or EvtDeviceUsageNotificationEx, but not both.
The WDF_PNPPOWER_EVENT_CALLBACKS structure is used as input to the WdfDeviceInitSetPnpPowerEventCallbacks method.
Your driver should initialize its WDF_PNPPOWER_EVENT_CALLBACKS structure by calling WDF_PNPPOWER_EVENT_CALLBACKS_INIT.
WDF_POWER_POLICY_EVENT_CALLBACKS