Compartilhar via


Método ICLRTaskManager::CreateTask

Solicita explicitamente que o CLR (Common Language Runtime) crie uma nova tarefa.

Sintaxe

HRESULT CreateTask (  
    [out] ICLRTask **pTask  
);  

Parâmetros

pTask
[out] Um ponteiro para o endereço de um ICLRTask recém-criado ou nulo, se a tarefa não pôde ser criada.

Valor Retornado

HRESULT Descrição
S_OK O método foi retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR não foi carregado em um processo, ou o CLR está em um estado no qual não pode executar código gerenciado ou processar a chamada com êxito.
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.
E_OUTOFMEMORY Não há memória suficiente disponível para alocar o recurso solicitado.

Comentários

O CLR cria uma nova tarefa automaticamente após a inicialização, quando o código do usuário cria um thread usando tipos no namespace System.Threading ou quando o tamanho do pool de threads é aumentado. Ele também cria tarefas quando o código não gerenciado faz uma chamada para uma função gerenciada.

O CreateTask permite que o host faça uma solicitação explícita para que o CLR crie uma nova tarefa. Por exemplo, o host pode invocar esse método para pré-inicializar estruturas de dados.

Importante

A nova tarefa é retornada em um estado suspenso e permanece suspensa até que o host chame explicitamente IHostTask::Start.

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