다음을 통해 공유


PBT_APMQUERYSUSPEND 이벤트

PBT_APMQUERYSUSPEND 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이 이벤트에 대한 지원이 Windows Vista에서 제거되었습니다. 대신 SetThreadExecutionState를 사용합니다.]

컴퓨터 일시 중단 권한을 요청합니다. 권한을 부여하는 애플리케이션에서는 반환하기 전에 일시 중단에 대비한 작업을 수행해야 합니다.

창은 WM_POWERBROADCAST 메시지를 통해 이 이벤트를 수신합니다. wParamlParam 매개 변수는 다음에 설명된 대로 설정됩니다.

LRESULT 
CALLBACK 
WindowProc( HWND   hwnd,    // handle to window
            UINT   uMsg,    // WM_POWERBROADCAST
            WPARAM wParam,  // PBT_APMQUERYSUSPEND
            LPARAM lParam); // action flags

매개 변수

hwnd

창에 대한 핸들입니다.

uMsg

의미
WM_POWERBROADCAST
536(0x218)
메시지 식별자입니다.

wParam

의미
PBT_APMQUERYSUSPEND
0(0x0)
이벤트 식별자입니다.

lParam

작업 플래그입니다. 비트 0이 1인 경우 애플리케이션은 사용자에게 일시 중단을 준비하는 방법에 대한 지침을 묻는 메시지를 표시할 수 있습니다. 그렇지 않으면 애플리케이션이 사용자 상호 작용 없이 준비해야 합니다. 다른 모든 비트 값은 예약되어 있습니다.

반환 값

TRUE를 반환하여 일시 중단 요청을 부여합니다. 요청을 거부하려면 BROADCAST_QUERY_DENY 반환합니다.

설명

애플리케이션은 이 이벤트를 가능한 한 빨리 처리해야 합니다. 애플리케이션은 Flags 매개 변수에서 비트 0이 설정된 경우에만 일시 중단을 준비하는 방법에 대한 지침을 사용자에게 표시할 수 있습니다. 그러나 사용자가 랩톱 뚜껑을 닫았기 때문에 이 메시지가 발행되면 사용자에게 메시지를 표시할 수 없습니다. 애플리케이션은 노트북 뚜껑을 닫거나 전원 단추를 누르면 사용자가 특정 동작을 기대하고 전환이 성공할 수 있도록 해야 합니다.

시스템에서는 애플리케이션이 애플리케이션의 메시지 큐에서 PBT_APMQUERYSUSPEND 이벤트를 보내는 WM_POWERBROADCAST 메시지를 제거하는 데 약 20초가 허용됩니다. 애플리케이션이 20초 이내에 큐에서 메시지를 제거하지 않으면 시스템은 애플리케이션이 응답하지 않는 상태이며 애플리케이션이 절전 모드 요청에 동의한다고 가정합니다. 메시지 큐를 처리하지 않는 애플리케이션은 작업이 중단되었을 수 있습니다. 메시지 큐에서 메시지를 제거한 후 애플리케이션은 절전 모드 상태를 입력하기 전에 필요한 작업을 수행하는 데 필요한 만큼의 시간이 걸릴 수 있습니다. 시스템에서 PBT_APMSUSPEND 처리 중에 작업을 완료하는 데 20초만 허용하므로 20초가 더 오래 걸릴 수 있는 작업은 이 시점에서 수행해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003[데스크톱 앱만 해당]
클라이언트 지원 종료
Windows XP
서버 지원 종료
Windows Server 2003
헤더
WinUser.h(Windows.h 포함)

참고 항목