CoWaitForMultipleHandles 함수(combaseapi.h)
지정된 핸들이 신호를 받을 때까지 또는 지정된 시간 제한 기간이 경과될 때까지 기다립니다.
구문
HRESULT CoWaitForMultipleHandles(
[in] DWORD dwFlags,
[in] DWORD dwTimeout,
[in] ULONG cHandles,
[in] LPHANDLE pHandles,
[out] LPDWORD lpdwindex
);
매개 변수
[in] dwFlags
대기 옵션입니다. 가능한 값은 COWAIT_FLAGS 열거형에서 가져옵니다.
[in] dwTimeout
밀리초 단위의 제한 시간입니다.
[in] cHandles
pHandles 배열의 요소 수입니다.
[in] pHandles
핸들 배열입니다.
[out] lpdwindex
반환된 상태 S_OK 함수가 반환된 이벤트를 나타내는 값을 수신하는 변수에 대한 포인터입니다. 이 값은 일반적으로 신호를 받은 핸들에 대한 pHandles 의 인덱스입니다.
pHandles에 뮤텍스 개체에 대한 핸들이 하나 이상 포함된 경우 WAIT_ABANDONED_0 사이의 값(WAIT_ABANDONED_0 + nCount - 1)은 중단된 뮤텍스에 대한 pHandles로 인덱스를 나타냅니다.
COWAIT_ALERTABLE 플래그가 dwFlags로 설정된 경우 WAIT_IO_COMPLETION 값은 스레드에 큐에 대기 중인 하나 이상의 APC(사용자 모드 비동기 프로시저 호출)로 대기가 종료되었음을 나타냅니다.
자세한 내용은 WaitForMultipleObjectsEx 를 참조하세요.
반환 값
이 함수는 다음 값을 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
필요한 핸들 또는 핸들이 신호를 받았습니다. |
|
pHandles 가 NULL이거나, lpdwindex 가 NULL이거나, dwFlags 가 COWAIT_FLAGS 열거형의 값이 아니었습니다. |
|
pHandles 값은 0입니다. |
|
필요한 핸들 또는 핸들이 신호를 수신하기 전에 경과된 시간 제한 기간입니다. |
설명
dwFlags 매개 변수에 설정된 플래그에 따라 CoWaitForMultipleHandles 는 다음 이벤트 중 하나가 발생할 때까지 호출 스레드를 차단합니다.
- 핸들 중 하나 또는 전부가 신호를 수신합니다. 뮤텍스 개체의 경우 뮤텍스가 중단되어 이 조건도 충족됩니다.
- APC(비동기 프로시저 호출)가 QueueUserAPC 함수를 호출하여 호출 스레드에 큐에 대기되었습니다.
- 시간 제한 기간이 만료됩니다.
호출 스레드가 MTA(다중 스레드 아파트)에 있는 경우 CoWaitForMultipleHandles 는 WaitForMultipleObjectsEx 함수를 호출합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | combaseapi.h(Objbase.h 포함) |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |