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

Consulte também

Referência

Interface de ICLRSyncManager

Interface de IHostSyncManager