다음을 통해 공유


WaitForInputIdle 함수(winuser.h)

지정된 프로세스가 초기 입력 처리를 완료하고 입력이 보류 중이 아니거나 시간 제한 간격이 경과할 때까지 사용자 입력을 대기할 때까지 기다립니다.

구문

DWORD WaitForInputIdle(
  [in] HANDLE hProcess,
  [in] DWORD  dwMilliseconds
);

매개 변수

[in] hProcess

프로세스에 대한 핸들입니다. 이 프로세스가 콘솔 애플리케이션이거나 메시지 큐가 없는 경우 WaitForInputIdle 은 즉시 반환됩니다.

[in] dwMilliseconds

제한 시간 간격(밀리초)입니다. dwMilliseconds가 INFINITE이면 프로세스가 유휴 상태가 될 때까지 함수가 반환되지 않습니다.

반환 값

다음 표에서는 이 함수에 대해 가능한 반환 값을 보여 주세요.

반환 코드/값 설명
0
대기가 성공적으로 충족되었습니다.
WAIT_TIMEOUT
제한 시간 간격이 경과하여 대기가 종료되었습니다.
WAIT_FAILED
오류가 발생했습니다.

설명

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 도입)

추가 정보

CreateProcess

프로세스 및 스레드 함수

여러 스레드의 실행 동기화