시스템 전원 상태에 대한 IRP_MN_SET_POWER 처리

전원 관리자는 다음과 같은 이유로 부 코드 IRP_MN_SET_POWER 및 시스템 전원 상태를 지정하는 전원 IRP를 보냅니다.

  • 시스템 전원 상태를 변경합니다.

  • 실패한 IRP_MN_QUERY_POWER 요청 후 현재 전원 상태를 재확인합니다.

I/O 관리자를 통해 전원 관리자는 각 PnP 디바이스 노드에서 디바이스 스택의 최상위 드라이버에 IRP를 보냅니다. IRP는 올바른 시스템 전원 상태의 스택에 있는 모든 드라이버를 알 수 있습니다.

정연한 시작을 보장하기 위해 Power Manager는 시스템 전원 강화 IRP를 시퀀스하여 부모 디바이스가 자녀에게 전원을 공급하기 전에 전원을 공급할 수 있도록 합니다. 전원 관리자는 시스템 전원 강화 IRP를 보내기 전에 쿼리하지 않습니다.

마찬가지로 컴퓨터가 정연한 방식으로 절전 모드 또는 종료되도록 하기 위해 전원 관리자는 정의된 순서대로 절전 모드, 최대 절전 모드 또는 종료를 지정하는 시스템 IRP를 보내 디바이스가 루트에 가까운 디바이스보다 루트 전원에서 더 멀리 떨어져 있도록 합니다. 가능하면 전원 관리자는 이러한 IRP를 보내기 전에 쿼리합니다. 자세한 내용은 시스템 전원 상태에 대한 IRP_MN_QUERY_POWER 처리를 참조하세요.

시스템 전원 IRP는 전원 상태를 변경하는 직접 요청이 아니라 알림입니다. 드라이버는 시스템 전원 IRP에 대한 직접 응답으로 디바이스의 전원 상태를 변경해서는 안됩니다. 드라이버는 디바이스 전원 IRP에 대한 응답으로만 디바이스 의 전원 상태를 변경합니다. (디바이스 전원 정책 소유자는 디바이스 전원 IRP를 보냅니다. 디바이스 전원 정책 소유자에서 시스템 Set-Power IRP 처리를 참조하세요.)

디바이스가 이미 요청된 시스템 전원 상태에 유효한 디바이스 전원 상태에 있더라도 각 드라이버는 버스 드라이버에 도달할 때까지 시스템 설정 전원 IRP를 다음 하위 드라이버에 전달해야 합니다. 버스 드라이버만 이 IRP를 완료할 수 있습니다.

드라이버가 이 IRP를 처리하는 방법은 다음 섹션에 설명된 대로 디바이스 스택의 역할에 따라 달라집니다.

디바이스 전원 정책 소유자에서 시스템 Set-Power IRP 처리

버스 드라이버에서 시스템 Set-Power IRP 처리

필터 드라이버에서 시스템 Set-Power IRP 처리

드라이버는 시스템 전원 상태를 설정하기 위한 IRP_MN_SET_POWER 요청에 실패할 수 없습니다. 전원 관리자는 이 IRP에 대해 반환된 오류 상태 무시합니다.