次の方法で共有


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 を含む)

こちらもご覧ください

WDF_POWER_POLICY_EVENT_CALLBACKS