共用方式為


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 中使用。 驅動程式可以註冊 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