Método de ICLRSyncManager::GetMonitorOwner
Obtém o IHostTask instância proprietário do monitor identificado pelo cookie especificado.
HRESULT GetMonitorOwner (
[in] SIZE_T cookie,
[out] IHostTask *ppOwnerHostTask
);
Parâmetros
cookie
[in] O cookie associado ao monitor.ppOwnerHostTask
[out] Um ponteiro para o IHostTask que atualmente possui o monitor, ou null se a tarefa não tem propriedade.
Valor de retorno
HRESULT |
Descrição |
---|---|
S_OK |
GetMonitorOwnerretornado com êxito. |
HOST_E_CLRNOTAVAILABLE |
O CLR não foi carregado em um processo ou o CLR é em um estado em que ele não é possível executar código gerenciado ou processar a chamada com êxito. |
HOST_E_TIMEOUT |
A chamada foi esgotado. |
HOST_E_NOT_OWNER |
O chamador não possui o bloqueio. |
HOST_E_ABANDONED |
Um evento foi cancelado, enquanto um segmento bloqueado ou fibra estava esperando por ele. |
E_FAIL |
Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é usável dentro do processo. As chamadas subseqüentes para hospedar os métodos retornam HOST_E_CLRNOTAVAILABLE. |
Comentários
O host normalmente chama GetMonitorOwner como parte de um mecanismo de detecção de deadlock. O cookie é associado um monitor quando ele é criado usando uma chamada para IHostSyncManager::CreateMonitorEvent.
Observação
Uma chamada para liberar o evento subjacentes do monitor pode bloquear — mas não será bloqueio — se uma chamada para esse método está atualmente em vigor no cookie associado ao monitor.Outras tarefas também podem bloquear se tentar adquirir o monitor.
GetMonitorOwnersempre retorna imediatamente e pode ser chamado a qualquer momento após uma chamada para CreateMonitorEvent. O host não precisa esperar até que uma tarefa está aguardando o evento.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso em mscoree
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0