EVT_HIDSPICX_NOTIFY_POWERDOWN 콜백 함수(hidspicx.h)

EvtHidspicxNotifyPowerdown 콜백 함수는 디바이스가 저전력 상태로 전환하려고 할 때 알림을 수신하기 위해 클라이언트 드라이버에 의해 구현됩니다.

구문

EVT_HIDSPICX_NOTIFY_POWERDOWN EvtHidspicxNotifyPowerdown;

NTSTATUS EvtHidspicxNotifyPowerdown(
  WDFDEVICE Device,
  BOOLEAN ArmForWake
)
{...}

매개 변수

Device

WdfDeviceCreate에 대한 이전 호출에서 얻은 클라이언트 드라이버의 프레임워크 디바이스 개체에 대한 핸들입니다.

ArmForWake

디바이스가 임박한 전원 전환에 대한 대상 상태에서 절전 모드 해제를 위해 무장할지 여부를 나타내는 부울 값입니다.

반환 값

전원 전환 준비에 성공했는지 여부를 나타내는 NTSTATUS입니다. 이 메서드는 런타임에 실패할 것으로 예상되지 않으며 HidSpiCx에 의해 디바이스가 실패할 수 있습니다.

설명

클라이언트 드라이버는 HidSpiCx가 임박한 전원을 클라이언트에 알리는 데 사용할 콜백을 구현하고 제공해야 합니다. 이 콜백의 목적은 디바이스가 저전력 상태로 전환하려고 하므로 클래스 확장이 디바이스에서 인터럽트 처리를 중지하도록 클라이언트에 지시할 수 있도록 하는 것입니다. 클라이언트의 D0Entry WDF 콜백에 대한 콜백이 발생할 때까지 클라이언트에서 인터럽트 처리를 다시 시작해서는 안 됩니다.

이 함수의 목적은 클래스 확장이 디바이스에 명령을 보내고 SET_POWER SLEEP , 클래스 확장 및 클라이언트 드라이버 둘 다에서 Dx IRP가 완료되기 전에 디바이스가 절전 모드 해제를 위해 인터럽트 어설션하는 절전 모드 상태를 입력하는 경우를 방지하는 것입니다. 인터럽트 하드웨어 처리를 중지하도록 클라이언트에 지시하는 추가 콜백이 없으면 하드웨어는 절전 모드 해제 인터럽트 에 대한 응답으로 SPI 읽기를 실행합니다. 이는 호스트가 디바이스에서 인터럽트를 처리하기 전에 먼저 명령을 보내 SET_POWER ON 도록 요구하는 프로토콜을 위반합니다.

이 함수는 수동 IRQL의 클래스 확장에 의해 호출되며 인터럽트 처리가 중단될 때까지 클라이언트는 반환하지 않아야 합니다.

버스 수준에서 절전 모드 해제를 위해 디바이스를 무장할지 여부는 편의를 위해 클라이언트에 제공되므로 클라이언트 드라이버가 버스 드라이버가 아닌 경우 명령에 대한 WAIT_WAKE 모니터링을 피할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 11
머리글 hidspicx.h
IRQL PASSIVE_LEVEL

추가 정보

디바이스 전원 상태

디바이스 Low-Power 상태