WaitForMultipleObjects
지정된 하나 또는 모든 객체의 시간 제한 간격이 경과 할때까지 또는 신호 상태로 전활될 때까지 대기한다.
* 이 함수는 다음 객체들에 대해 대기 가능 하다
- Change notification
- Console input
- Event
- Memory resource notification
- Mutex
- Process
- Semaphore
- Thread
- Waitable timer
- 출처 : MSDN
nCount
- 대기 하려는 객체의 수를 설정한다.
- 최대 객체 수는 MAXIMUM_WAIT_OBJECTS(64)이다.
- 이 파라메터 값은 0이 될 수 없다.
lpHandles
- 대기 하려는 객체들에 대한 핸들을 담고 있는 배열의 시작 주소를 설정한다.
- 핸들은 SYNCHRONIZE 접근 권한이 설정되어 있어야 한다.
bWaitAll
- TRUE 설정 시 대기하는 모든 객체의 종료 또는 시그널 상태로 전활될 때 반환된다.
- FALSE 설정 시 대기하는 객체들 중 어느 하나의 객체 종료 또는 시그널 상태로 전환될 때 반환된다.
dwMilliseconds
- 밀리 초 단위의 대기 시간 간격을 설정한다.
- 0을 설정 시 바로 반환되며, 0이 아닌 시간을 입력 했을 시 지정한 시간만큼을 대기한다.
- 값을 INFINITE로 설정 시 지정 객체의 종료 또는 시그널 상태로 전환될 때 반환된다.
Return value : 성공 시 WAIT_ABANDONED_0~nCount-1(0x00000080L+nCount-1), WAIT_OBJECT_0~nCount-1(0x00000000L+nCount-1), WAIT_TIMEOUT(0x00000102L)를 반환하고, 실패 시 WAIT_FAILED(0xFFFFFFFF)를 반환한다.
- WAIT_ABANDONED : 뮤텍스 객체 사용 시 발생
- WAIT_OBJECT_0 : 대기 하고 있는 객체의 종료 또는 시그널 상태로 전환 시 발생
- WAIT_TIMEOUT : 대기 시간 초과 시 발생
Header : WinBase.h(include Windows.h)
DLL : Kernel32.dll
'Win32 API' 카테고리의 다른 글
WSACleanup (0) | 2015.04.13 |
---|---|
WSAStartup (0) | 2015.04.13 |
WaitForSingleObject (0) | 2015.04.10 |
inet_ntoa (0) | 2015.04.10 |
inet_addr (0) | 2015.04.10 |