WDF_PNPPOWER_EVENT_CALLBACKS structure
[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.
Syntax
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;
Members
- Size
- 
The size, in bytes, of this structure. 
- EvtDeviceD0Entry
- 
A pointer to the driver's EvtDeviceD0Entry event callback function, or NULL. 
- EvtDeviceD0EntryPostInterruptsEnabled
- 
A pointer to the driver's EvtDeviceD0EntryPostInterruptsEnabled event callback function, or NULL. 
- EvtDeviceD0Exit
- 
A pointer to the driver's EvtDeviceD0Exit event callback function, or NULL. 
- EvtDeviceD0ExitPreInterruptsDisabled
- 
A pointer to the driver's EvtDeviceD0ExitPreInterruptsDisabled event callback function, or NULL. 
- EvtDevicePrepareHardware
- 
A pointer to the driver's EvtDevicePrepareHardware event callback function, or NULL. 
- EvtDeviceReleaseHardware
- 
A pointer to the driver's EvtDeviceReleaseHardware event callback function, or NULL. 
- EvtDeviceSelfManagedIoCleanup
- 
A pointer to the driver's EvtDeviceSelfManagedIoCleanup event callback function, or NULL. 
- EvtDeviceSelfManagedIoFlush
- 
A pointer to the driver's EvtDeviceSelfManagedIoFlush event callback function, or NULL. 
- EvtDeviceSelfManagedIoInit
- 
A pointer to the driver's EvtDeviceSelfManagedIoInit event callback function, or NULL. 
- EvtDeviceSelfManagedIoSuspend
- 
A pointer to the driver's EvtDeviceSelfManagedIoSuspend event callback function, or NULL. 
- EvtDeviceSelfManagedIoRestart
- 
A pointer to the driver's EvtDeviceSelfManagedIoRestart event callback function, or NULL. 
- EvtDeviceSurpriseRemoval
- 
A pointer to the driver's EvtDeviceSurpriseRemoval event callback function, or NULL. 
- EvtDeviceQueryRemove
- 
A pointer to the driver's EvtDeviceQueryRemove event callback function, or NULL. 
- EvtDeviceQueryStop
- 
A pointer to the driver's EvtDeviceQueryStop event callback function, or NULL. 
- EvtDeviceUsageNotification
- 
A pointer to the driver's EvtDeviceUsageNotification event callback function, or NULL. 
- EvtDeviceRelationsQuery
- 
A pointer to the driver's EvtDeviceRelationsQuery event callback function, or NULL. 
- EvtDeviceUsageNotificationEx
- 
A 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. 
Remarks
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.
Requirements
| Minimum KMDF version | 1.0 | 
|---|---|
| Minimum UMDF version | 2.0 | 
| Header | 
 | 
See also

