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 포함) |