次の方法で共有


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 で使用できます。 ドライバーは 、EvtDeviceRelationsQuery または EvtDeviceUsageNotificationEx を登録できますが、両方を登録することはできません。

注釈

WDF_PNPPOWER_EVENT_CALLBACKS構造体は、WdfDeviceInitSetPnpPowerEventCallbacks メソッドへの入力として使用されます。

ドライバーは、WDF_PNPPOWER_EVENT_CALLBACKS_INITを呼び出すことによって、その WDF_PNPPOWER_EVENT_CALLBACKS構造体を初期化する必要があります。

要件

要件
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfdevice.h (Wdf.h を含む)

こちらもご覧ください

WDF_POWER_POLICY_EVENT_CALLBACKS