티스토리 뷰

windows

WaitForMultipleObjects

아풀 2020. 1. 10. 13:37

WaitForMultipleObjects 

Syntax

DWORD WaitForMultipleObjects(
  DWORD        nCount,
  const HANDLE *lpHandles,
  BOOL         bWaitAll,
  DWORD        dwMilliseconds
);

 

Parameters

  • nCount : 기다리고자 하는 객체 핸들의 배열의 크기 (최대 : MAXIMUM_WAIT_OBJECTS)
  • lpHandles : 객체 핸들의 배열
  • bWaitAll : 모든 객체 핸들이 시그널 상태가 되어야 반환할지 아닐지
  • dwMilliseconds : 기다리는 시간을 밀리 초 단위로 제한
 

Return value

측정된 이벤트 값을 반환

 

 

Example

 

#define OBJ_EVENT_START 	0;
#define OBJ_EVENT_STOP		1;
#define OBJ_EVENT_RESTART 	2;
#define OBJ_EVENT_COUNT 	3;

HANDLE hEvents[OBJ_EVENT_COUNT];

hEvents[OBJ_EVENT_START] 	= m_hStartEvent;
hEvents[OBJ_EVENT_STOP] 	= m_hStopEvent;
hEvents[OBJ_EVENT_RESTART] 	= m_hRestartEvent;

DWORD dwReturn = ERROR_SUCCESS;

dwReturn = WaitForMultipleObjects(OBJ_EVENT_COUNT,
						(CONST HANDLE*) hEvents,
						FALSE,
						dwCycleMSec);
									
switch(dwReturn)
{
case WAIT_OBJECT_0 + OBJ_EVENT_START :
	// start event가 set 되었을 때 (signaled)
	break;
	
case WAIT_OBJECT_0 + OBJ_EVENT_STOP :
	// stop event가 set 되었을 때 (signaled)
	break;
	
case WAIT_OBJECT_0 + OBJ_EVENT_RESTART :
	// restart event가 set 되었을 때 (signaled)
	break;
	
case WAIT_FAILED :
	break;
case WAIT_TIMEOUT:
	break;
default:
	break;
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함