다음을 통해 공유


ICLRSyncManager::GetMonitorOwner 메서드

지정된 쿠키로 식별된 모니터를 소유하는 IHostTask 인스턴스를 가져옵니다.

구문

HRESULT GetMonitorOwner (  
    [in]  SIZE_T     cookie,  
    [out] IHostTask *ppOwnerHostTask  
);  

매개 변수

cookie
[in] 모니터와 연결된 쿠키입니다.

ppOwnerHostTask
[out] 현재 모니터를 소유하고 있는 IHostTask에 대한 포인터이거나, 작업에 소유권이 없는 경우 null입니다.

Return Value

HRESULT 설명
S_OK GetMonitorOwner가 성공적으로 반환되었습니다.
HOST_E_CLRNOTAVAILABLE CLR이 프로세스에 로드되지 않았거나 CLR이 관리 코드를 실행하거나 호출을 성공적으로 처리할 수 없는 상태입니다.
HOST_E_TIMEOUT 호출 시간이 초과되었습니다.
HOST_E_NOT_OWNER 호출자는 잠금을 소유하지 않습니다.
HOST_E_ABANDONED 차단된 스레드 또는 파이버가 이벤트를 기다리는 동안 이벤트가 취소되었습니다.
E_FAIL 알 수 없는 치명적인 오류가 발생했습니다. 메서드가 E_FAIL을 반환하면 CLR은 더 이상 프로세스 내에서 사용할 수 없습니다. 호스팅 메서드에 대한 후속 호출은 HOST_E_CLRNOTAVAILABLE을 반환합니다.

설명

호스트는 일반적으로 교착 상태 감지 메커니즘의 일부로 GetMonitorOwner를 호출합니다. 쿠키는 IHostSyncManager::CreateMonitorEvent 호출을 사용하여 생성될 때 모니터와 연결됩니다.

참고

이 메서드에 대한 호출이 현재 해당 모니터와 연결된 쿠키에 적용되는 경우 모니터의 기본 이벤트를 해제하는 호출이 차단될 수 있지만 교착 상태는 발생하지 않습니다. 이 모니터를 획득하려고 하면 다른 작업도 차단될 수 있습니다.

GetMonitorOwner는 항상 즉시 결과를 반환하며 CreateMonitorEvent 호출 후 언제든지 호출할 수 있습니다. 호스트는 작업이 이벤트를 대기할 때까지 기다릴 필요가 없습니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: MSCorEE.h

라이브러리: 리소스로 MSCorEE.dll에 포함됩니다.

.NET Framework 버전: 2.0부터 사용 가능

참고 항목