Compartilhar via


Método ICorDebugHeapValue3::GetMonitorEventWaitList

Fornece uma lista ordenada de threads enfileirados no evento associado a um bloqueio de monitor.

Sintaxe

HRESULT GetMonitorEventWaitList (
    [out] ICorDebugThreadEnum **ppThreadEnum
);

Parâmetros

ppThreadEnum [fora] O enumerador ICorDebugThreadEnum que fornece a lista ordenada de threads.

Valor de retorno

Esse método retorna os seguintes HRESULTs específicos, bem como erros HRESULT que indicam falha de método.

HRESULT Descrição
S_OK A lista não está vazia.
S_FALSE A lista está vazia.

Exceções

Comentários

O primeiro thread da lista é o primeiro thread lançado pela próxima chamada para Monitor.Pulse(Object). O próximo thread na lista é lançado na chamada a seguir e assim por diante.

Se a lista não estiver vazia, esse método retornará S_OK. Se a lista estiver vazia, o método retornará S_FALSE; nesse caso, a enumeração ainda é válida, embora esteja vazia.

Em ambos os casos, a interface de enumeração é utilizável apenas pela duração do estado sincronizado atual. No entanto, as interfaces do thread dispensadas dele são válidas até que o thread seja encerrado.

Se ppThreadEnum não for um ponteiro válido, o resultado será indefinido.

Se ocorrer um erro de modo que não seja possível determinar quais threads estão aguardando o monitor, o método retorna um HRESULT que indica falha.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 4

Confira também