Partilhar via


Método ICLRSyncManager::GetMonitorOwner

Obtém o IHostTask instância que é proprietária do monitor identificado pelo cookie especificado.

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

Parâmetros

  • cookie
    [in] O cookie associado com o monitor.

  • ppOwnerHostTask
    [out] Um ponteiro para o IHostTask que detém atualmente o monitor ou nulo se nenhuma tarefa tiver a propriedade.

Valor de retorno

HRESULT

Descrição

S_OK

GetMonitorOwner retornado com êxito.

HOST_E_CLRNOTAVAILABLE

O CLR não foi carregado em um processo ou o CLR está em um estado em que ele não possa executar código gerenciado ou processar a telefonar com êxito.

HOST_E_TIMEOUT

A telefonar expirou.

HOST_E_NOT_OWNER

O chamador não é proprietário do bloquear.

HOST_E_ABANDONED

Um evento foi cancelado enquanto um segmento bloqueado ou fibra estava aguardando nele.

E_FAIL

Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é mais útil dentro do processo. As chamadas subseqüentes à hospedagem métodos retornam HOST_E_CLRNOTAVAILABLE.

Comentários

O host normalmente chama GetMonitorOwner sistema autônomo parte de um mecanismo de detecção de deadlock. O cookie está associado com um monitor quando ele é criado usando uma telefonar de IHostSyncManager::CreateMonitorEvent.

ObservaçãoObservação:

Uma telefonar para liberar o evento base o monitor pode bloco — mas não irá deadlock — se uma telefonar para este método estiver atualmente em vigor na cookie associado ao monitor. Outras tarefas também podem bloquear se tentar adquirir a este monitor.

GetMonitorOwner sempre retorna imediatamente e podem ser chamadas a qualquer momento após uma telefonar para CreateMonitorEvent. O host não precisa esperar até que uma tarefa está aguardando o evento.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: MSCorEE.idl

Biblioteca: Incluído sistema autônomo um recurso em MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface ICLRSyncManager

Interface IHostSyncManager