관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

WaitForMultipleObjects 본문

Ntool Works/작업 참조

WaitForMultipleObjects

님투 2007. 11. 8. 23:33
반응형

WaitForMultipleObjects

지정된 커넬 오브젝트 중1개 또는 그러한 모든 것이 시그널 상태가 되는지, 지정된 시간이 경과할 때까지 스렛드를 sleeve 시킵니다.

DWORD WaitForMultipleObjects(
    DWORD  nCount,          // 오브젝트의 수
    CONST HANDLE *pHandles, // 핸들의 배열
    BOOL   bWaitAll,        // 1개인가 모두인가의 플래그
    DWORD  dwMilliseconds   // 타임 아웃 시간
);

KERNEL32.DLL

인수

nCount

pHandles 파라미터가 지시하는 배열의 커넬 오브젝트의 핸들의 수를 지정합니다.지정할 수 있는 오브젝트의 최대수는 64 (MAXIMUM_WAIT_OBJECTS) 개입니다.

pHandles

커넬 오브젝트의 핸들을 격납한 배열 변수의 주소를 지정합니다.같은 오브젝트가 여러 차례 지정되면 에러가 됩니다.

대기가 미해결 상태로 이러한 핸들의1개가 클로우즈 되었을 경우의 함수의 동작은 정의되고 있지 않습니다.

Windows NT/2000/XP: 오브젝트의 핸들은 SYNCHRONIZE 액세스를 가지고 있지 않으면 안됩니다.

bWaitAll

리스트내의 모든 오브젝트를 기다리는지, 어떤 것인가1개만을 기다리는지를 지정합니다. 1 (TRUE) (을)를 지정하면, 모든 오브젝트가 시그널 상태가 되는 것을 기다립니다. 0 (FALSE) (을)를 지정하면, 어떤 것인가1개가 시그널 상태가 되는 것을 기다립니다.

dwMilliseconds

대기 시간을 밀리 세컨드 단위로 지정합니다. 0 (을)를 지정하면, 오브젝트가 시그널 상태인지 어떤지를 조사하자마자 제어를 돌려줍니다. 0xFFFFFFFF (INFINITE) (을)를 지정하면, 오브젝트가 시그널 상태가 될 때까지 무한하게 계속 기다립니다.

반환값

이하의 값의 어느쪽이든을 돌려줍니다.

의미
0x00000000 (WAIT_OBJECT_0) (으)로부터 (nCount - 1) 까지

전오브젝트를 기다리고 있는 경우에는, 모든 오브젝트가 시그널 상태가 된 것을 나타내 보입니다.임의의 오브젝트를 기다리고 있는 경우에는, 시그널 상태가 된 오브젝트 핸들의, pHandles 배열내에서의 인덱스를 나타냅니다.

0x00000080 (WAIT_ABANDONED) (으)로부터 (WAIT_ABANDONED + nCount - 1) 까지

전오브젝트를 기다리고 있는 경우에는, 모든 오브젝트가 시그널 상태가 되어, 그 중에 방폐되었기 때문에 시그널 상태가 된 뮤텍스가 포함되어 있는 것을 나타냅니다.임의의 오브젝트를 기다리고 있는 경우, (반환값 - WAIT_ABANDONED) (은)는, 방폐되었기 때문에 시그널 상태가 된 뮤텍스 오브젝트의 핸들의 pHandles 배열내에서의 인덱스를 나타냅니다.

0x00000102 (WAIT_TIMEOUT)

타임 아웃 시간이 경과한 것을 나타내 보입니다.

0xFFFFFFFF (WAIT_FAILED)

에러가 발생한 것을 나타내 보입니다.확장 에러 정보를 취득하려면 , GetLastError 함수를 사용합니다.

해설

이 함수의 pHandles 파라미터가 가리키는 배열에는, 이하의 커넬 오브젝트의 핸들을 지정할 수 있습니다.

  • 파일 변경 통지
  • 콘솔 입력
  • 이벤트
  • 작업
  • 뮤텍스
  • 프로세스
  • semaphore
  • 스렛드
  • 웨이타브르타이마

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'Ntool Works > 작업 참조' 카테고리의 다른 글

WaitMessage  (0) 2007.11.08
WaitForSingleObject  (0) 2007.11.08
UnmapViewOfFile  (0) 2007.11.08
TrackPopupMenuEx  (0) 2007.11.08
Sleep  (0) 2007.11.08
Comments