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