다음을 통해 공유


CMultiLock::Lock

하나 이상의 동기화 개체에 의해 제어 되는 리소스에 액세스 하려면이 함수를 호출 하 여 CMultiLock 생성자입니다.

DWORD Lock(
   DWORD dwTimeOut = INFINITE,
   BOOL bWaitForAll = TRUE,
   DWORD dwWakeMask = 0 
);

매개 변수

  • dwTimeOut
    사용할 수 있도록 동기화 개체를 대기 하는 시간을 지정 (신호).경우 무한, Lock 개체를 반환 하기 전에 신호가 전달 될 때까지 대기 합니다.

  • bWaitForAll
    대기 하는 모든 개체를 반환 하기 전에 동시 신호 해야 여부를 지정 합니다.경우 거짓, Lock 신호를 대기 하는 개체 중 하나를 반환 합니다.

  • dwWakeMask
    대기를 중단할 수 있는 다른 조건을 지정 합니다.이 매개 변수를 사용할 수 있는 옵션에 대 한 전체 목록을 참조 하십시오. MsgWaitForMultipleObjects 에 있는 Windows SDK.

반환 값

경우 Lock 를 반환-1에 오류가 발생 합니다.성공 하면 다음 값 중 하나를 반환 합니다.

  • 사이 WAIT_OBJECT_0WAIT_OBJECT_0 + (숫자 개체 – 1)

    경우 bWaitForAll 는 TRUE, 모든 개체 (사용 가능한) 신호입니다.경우 bWaitForAll 는 FALSE, 반환 값- WAIT_OBJECT_0 신호를 받는 개체의 배열에서 인덱스 (사용 가능)입니다.

  • WAIT_OBJECT_0 + (개체 수)

    지정 된 이벤트 dwWakeMask 스레드의 입력된 큐에서 사용할 수 있습니다.

  • 사이 WAIT_ABANDONED_0WAIT_ABANDONED_0 + (숫자 개체 – 1)

    경우 bWaitForAll 는 TRUE신호는 모든 개체를, 중단 된 뮤텍스 개체 개체 중 하나입니다.경우 bWaitForAll 는 거짓, 반환 값- WAIT_ABANDONED_0 대기를 만족 하는 중단 된 뮤텍스 개체의 배열에서 인덱스입니다.

  • WAIT_TIMEOUT

    지정 된 시간 제한 간격 dwTimeOut 대기 성공 없이 만료 합니다.

설명

경우 bWaitForAll 는 TRUE, Lock 모든 동기화 개체를 동시에 신호를 받을 때 성공적으로 반환 됩니다.경우 bWaitForAll 는 거짓, Lock 하나 이상의 동기화 개체가 신호를 받은 즉시 반환 됩니다.

경우 Lock 에 지정 된 밀리초 미만의 대기 됩니다 즉시 반환할 수 없습니다는 dwTimeOut 매개 변수를 반환 하기 전에.경우 dwTimeOut무한, Lock 조건에 지정 된 개체에 액세스를 얻을 반환 하지 않습니다 dwWakeMask 만족 했습니다.그렇지 않으면 if Lock 되었습니다 수 동기화 개체를 가져오려고 했습니다; 반환 됩니다 그렇지 않으면 오류를 반환 합니다.

요구 사항

헤더: afxmt.h

참고 항목

참조

CMultiLock 클래스

계층 구조 차트