WdfDeviceInitRegisterPowerStateChangeCallback 함수(wdfdevice.h)
[KMDF에만 적용]
참고
이 방법은 Microsoft 내부 용도로만 사용됩니다.
WdfDeviceInitRegisterPowerStateChangeCallback 메서드는 디바이스의 전원 상태 컴퓨터가 상태를 변경할 때 프레임워크가 호출하는 드라이버 제공 이벤트 콜백 함수를 등록합니다.
구문
NTSTATUS WdfDeviceInitRegisterPowerStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_POWER_STATE PowerState,
[in] PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
[in] ULONG CallbackTypes
);
매개 변수
[in] DeviceInit
WDFDEVICE_INIT 구조체에 대한 호출자 제공 포인터입니다.
[in] PowerState
드라이버가 알림을 요청하는 전원 머신 상태를 식별하는 WDF_DEVICE_POWER_STATE 열거자입니다.
[in] EvtDevicePowerStateChange
드라이버의 EvtDevicePowerStateChange 이벤트 콜백 함수에 대한 호출자 제공 포인터입니다.
[in] CallbackTypes
WDF_STATE_NOTIFICATION_TYPE 형식의 열거자의 ORed 조합입니다.
반환 값
작업이 성공하면 WdfDeviceInitRegisterPowerStateChangeCallback 은 STATUS_SUCCESS 반환합니다. 추가 반환 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
잘못된 매개 변수가 감지되었습니다. |
|
메모리가 부족하여 작업을 완료할 수 없습니다. |
설명
드라이버가 WdfDeviceInitRegisterPowerStateChangeCallback을 호출하는 경우 WdfDeviceCreate를 호출하기 전에 호출해야 합니다.
WdfDeviceCreate를 호출하는 방법에 대한 자세한 내용은 프레임워크의 상태 머신을 참조하세요.
예제
다음 코드 예제에서는 디바이스의 전원 상태 컴퓨터가 상태를 변경할 때 프레임워크에서 호출할 이벤트 콜백 함수를 등록합니다.
status = WdfDeviceInitRegisterPowerStateChangeCallback(
DeviceInit,
WdfDevStatePowerD0StartingConnectInterrupt,
PciDrvPowerStateChangeCallback,
StateNotificationAllStates
);
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
최소 KMDF 버전 | 1.0 |
머리글 | wdfdevice.h(Wdf.h 포함) |
라이브러리 | Wdf01000.sys(프레임워크 라이브러리 버전 관리 참조) |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |