Método ICLRSyncManager::GetRWLockOwnerNext

Obtém a próxima instância IHostTask que está bloqueada no bloqueio do leitor-gravador atual.

Sintaxe

HRESULT GetRWLockOwnerNext (  
    [in] SIZE_T       Iterator,  
    [out] IHostTask  *ppOwnerHostTask  
);  

Parâmetros

Iterator
[in] O enumerador que foi criado usando uma chamada para CreateRWLockOwnerIterator.

ppOwnerHostTask
[out] Um ponteiro para o próximo IHostTask que está esperando no bloqueio ou nulo se nenhuma tarefa estiver em espera.

Valor Retornado

HRESULT Descrição
S_OK GetRWLockOwnerNext retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR (Common Language Runtime) não foi carregado em um processo ou está em um estado no qual não pode executar o código gerenciado ou processar a chamada com sucesso.
HOST_E_TIMEOUT Uma chamada atingiu o tempo limite.
HOST_E_NOT_OWNER O chamador não possui o bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele.
E_FAIL Uma falha catastrófica desconhecida ocorreu. Quando um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE.

Comentários

Se ppOwnerHostTask estiver definido como nulo, a enumeração será encerrada e o host deverá chamar o método DeleteRWLockOwnerIterator.

Observação

O CLR chama AddRef no IHostTask para o qualppOwnerHostTask aponta a fim de impedir que essa tarefa saia enquanto o host detém o ponteiro. O host deve chamar Release para diminuir a contagem de referência quando ela for concluída.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MSCorEE.h

Biblioteca: incluída como um recurso no MSCorEE.dll

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

Confira também