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부터 사용 가능
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET