다음을 통해 공유


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 멤버는 KMDF 버전 1.11 이상에서 사용할 수 있습니다. 드라이버는 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