Partilhar via


Método ICLRSyncManager::GetMonitorOwner

Obtém a instância IHostTask que detém o monitor identificado pelo cookie especificado.

Sintaxe

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

Parâmetros

cookie
[in] O cookie associado ao monitor.

ppOwnerHostTask
[fora] Um ponteiro para o IHostTask que é atualmente proprietário do monitor ou nulo se nenhuma tarefa tiver propriedade.

Devolver Valor

HRESULT Description
S_OK GetMonitorOwner devolvido com êxito.
HOST_E_CLRNOTAVAILABLE O CLR não foi carregado para um processo ou o CLR está num estado em que não pode executar o código gerido ou processar a chamada com êxito.
HOST_E_TIMEOUT A chamada excedeu o limite de tempo.
HOST_E_NOT_OWNER O autor da chamada não é o proprietário do bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto um thread ou fibra bloqueado estava à espera.
E_FAIL Ocorreu uma falha catastrófica desconhecida. Quando um método devolve E_FAIL, o CLR já não é utilizável no processo. As chamadas subsequentes para métodos de alojamento devolvem HOST_E_CLRNOTAVAILABLE.

Observações

Normalmente, o anfitrião chama GetMonitorOwner como parte de um mecanismo de deteção de impasse. O cookie é associado a um monitor quando é criado através de uma chamada para IHostSyncManager::CreateMonitorEvent.

Nota

Uma chamada para libertar o evento subjacente ao monitor pode bloquear , mas não bloqueará, se uma chamada para este método estiver atualmente em vigor no cookie associado a esse monitor. Outras tarefas também poderão bloquear se tentarem adquirir este monitor.

GetMonitorOwner devolve sempre imediatamente e pode ser chamada em qualquer altura após uma chamada para CreateMonitorEvent. O anfitrião não precisa de aguardar até que uma tarefa aguarde pelo evento.

Requisitos

Plataformas: Veja Requisitos de Sistema.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso no MSCorEE.dll

.NET Framework Versões: Disponível desde 2.0

Ver também