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 事件回调函数的指针,或 NULLEvtDeviceUsageNotificationEx 成员在 1.11 版及更高版本的 KMDF 中可用。 驱动程序可以注册 EvtDeviceRelationsQueryEvtDeviceUsageNotificationEx,但不能同时注册两者。

注解

WDF_PNPPOWER_EVENT_CALLBACKS 结构用作 WdfDeviceInitSetPnpPowerEventCallbacks 方法的输入。

驱动程序应通过调用 WDF_PNPPOWER_EVENT_CALLBACKS_INIT 来初始化其 WDF_PNPPOWER_EVENT_CALLBACKS结构。

要求

要求
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfdevice.h (包括 Wdf.h)

另请参阅

WDF_POWER_POLICY_EVENT_CALLBACKS