커널 오브젝트의 두가지 상태(State)
Signaled(신호를 받은 상태)
Non-Signaled(신호를 받지 않은 상태)
커널오브젝트의 변수가 State 저장
상태가 변하는 시점은 커널오브젝트의 종류에 따라서 다르다
커널 오브젝트 처음 생성되면 Non-Signaled 상태
프로세스 종료되면 Signaled 상태가 된다
커널 오브젝트의 상태정보가 주는 이점은?
DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds)
hHandle : 커널 오브젝트 핸들
dwMilliseconds : 커널오브젝트 Signaled 상태가 될때까지 최대 기다릴수 있는 시간
INFINITE 로 전달하면 무한정 기다린다
WaitForSingleObject 함수가 반환되는 상황
WAIT_OBJECT_0 커널 오브젝트가 Signaled 상태가 되었음
WAIT_TIMEOUT 커널 오브젝트가 Signaled 상태가 되지 않고 설정된 시간이 다 되었음
WAIT_ABLANDONED 소유 관계와 관련하여 정상적이지 못한 오류 발생
DWORD WaitForMultipleObjects 다수의 커널오브젝트 Signaled상태 기다리는 함수
모두 Signaled 상태, 하나라도 Signaled 상태일때 반환할 것인지 선택가능하다