WaitForInputIdle 함수(winuser.h)
지정된 프로세스가 초기 입력 처리를 완료하고 입력이 보류 중이 아니거나 시간 제한 간격이 경과할 때까지 사용자 입력을 대기할 때까지 기다립니다.
구문
DWORD WaitForInputIdle(
[in] HANDLE hProcess,
[in] DWORD dwMilliseconds
);
매개 변수
[in] hProcess
프로세스에 대한 핸들입니다. 이 프로세스가 콘솔 애플리케이션이거나 메시지 큐가 없는 경우 WaitForInputIdle 은 즉시 반환됩니다.
[in] dwMilliseconds
제한 시간 간격(밀리초)입니다. dwMilliseconds가 INFINITE이면 프로세스가 유휴 상태가 될 때까지 함수가 반환되지 않습니다.
반환 값
다음 표에서는 이 함수에 대해 가능한 반환 값을 보여 주세요.
반환 코드/값 | 설명 |
---|---|
|
대기가 성공적으로 충족되었습니다. |
|
제한 시간 간격이 경과하여 대기가 종료되었습니다. |
|
오류가 발생했습니다. |
설명
WaitForInputIdle 함수를 사용하면 지정된 프로세스가 초기화를 완료하고 입력이 보류되지 않은 사용자 입력을 대기할 때까지 스레드가 실행을 일시 중단할 수 있습니다. 프로세스에 여러 스레드가 있는 경우 모든 스레드가 유휴 상태가 되는 즉시 WaitForInputIdle 함수가 반환됩니다.
WaitForInputIdle 은 애플리케이션을 시작하는 동안뿐만 아니라 언제든지 사용할 수 있습니다. 그러나 WaitForInputIdle 은 프로세스가 유휴 상태가 될 때까지 한 번만 대기합니다. 후속 WaitForInputIdle 호출은 프로세스가 유휴 상태이든 사용 중이든 관계없이 즉시 반환됩니다.
WaitForInputIdle 은 부모 프로세스와 새로 만든 자식 프로세스를 동기화하는 데 유용할 수 있습니다. 부모 프로세스가 자식 프로세스를 만들 때 CreateProcess 함수는 자식 프로세스가 초기화를 완료할 때까지 기다리지 않고 반환합니다. 자식 프로세스와 통신하기 전에 부모 프로세스는 WaitForInputIdle 함수를 사용하여 자식의 초기화가 완료된 시기를 결정할 수 있습니다. 예를 들어 부모 프로세스는 자식 프로세스와 연결된 창을 찾기 전에 WaitForInputIdle 함수를 사용해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
API 세트 | ext-ms-win-ntuser-misc-l1-1-0(Windows 8 도입) |