Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Informa o runtime de idioma comum (CLR) de que o anfitrião concluiu uma tarefa e permite que o CLR reutilize a instância ICLRTask atual para representar outra tarefa.
Sintaxe
HRESULT Reset (
[in] BOOL fFull
);
Parâmetros
fFull
[in] true, if the runtime should reset all thread-related static values in addition to the security and locale information related to the current ICLRTask instance; otherwise, false.
Se o valor for true, o runtime repõe os dados armazenados com AllocateDataSlot ou AllocateNamedDataSlot.
Devolver Valor
| HRESULT | Description |
|---|---|
| S_OK |
Reset devolvido com êxito. |
| HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado para um processo ou o CLR está num estado em que não pode executar código gerido ou processar a chamada. com êxito |
| HOST_E_TIMEOUT | A chamada excedeu o limite de tempo. |
| HOST_E_NOT_OWNER | O autor da chamada não é o proprietário do bloqueio. |
| HOST_E_ABANDONED | Um evento foi cancelado enquanto um thread ou fibra bloqueado estava à espera do mesmo. |
| E_FAIL | Ocorreu uma falha catastrófica desconhecida. Quando um método devolve E_FAIL, o CLR já não é utilizável no processo. As chamadas subsequentes para métodos de alojamento devolvem HOST_E_CLRNOTAVAILABLE. |
Observações
O CLR pode reciclar instâncias criadas ICLRTask anteriormente para evitar a sobrecarga da criação repetida de novas instâncias sempre que precisar de uma nova tarefa. O anfitrião ativa esta funcionalidade ao chamar ICLRTask::Reset em vez de ICLRTask::ExitTask quando tiver concluído uma tarefa. A lista seguinte resume o ciclo de vida normal de uma ICLRTask instância:
O runtime cria uma nova
ICLRTaskinstância.O runtime chama IHostTaskManager::GetCurrentTask para obter uma referência à tarefa de anfitrião atual.
O runtime chama IHostTask::SetCLRTask para associar a nova instância à tarefa de anfitrião.
A tarefa é executada e concluída.
O anfitrião destrói a tarefa ao chamar
ICLRTask::ExitTask.
Reset altera este cenário de duas formas. No passo 5 acima, o anfitrião chama Reset para repor a tarefa para um estado limpo e, em seguida, desassocia a ICLRTask instância da instância do IHostTask associada. Se desejar, o anfitrião também pode colocar a IHostTask instância em cache para reutilização. No passo 1 acima, o runtime solicita uma reciclagem ICLRTask da cache em vez de criar uma nova instância.
Esta abordagem funciona bem quando o anfitrião também tem um conjunto de tarefas de trabalho reutilizáveis. Quando o anfitrião destrói uma das instâncias IHostTask , destrói o correspondente ICLRTask ao chamar ExitTask.
Requisitos
Plataformas: Veja Requisitos do Sistema.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso no MSCorEE.dll
.NET Framework Versões: Disponível desde 2.0