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) |