Partilhar via


Método de IHostTaskManager::LeaveRuntime

Notifica o host que a tarefa de execução no momento está prestes a deixar o common language runtime (CLR) e insira o código não gerenciado.

Observação importanteImportante

Uma chamada correspondente para IHostTaskManager::EnterRuntime notifica o host a que a tarefa em execução no momento é redigitando código gerenciado.

HRESULT LeaveRuntime (
    [in] SIZE_T target
);

Parâmetros

  • target
    [in] O endereço dentro do arquivo executável de portátil mapeado da função não gerenciado a ser chamado.

Valor de retorno

HRESULT

Descrição

S_OK

LeaveRuntimeretornado com êxito.

HOST_E_CLRNOTAVAILABLE

O CLR não foi carregado em um processo ou o CLR é em um estado em que ele não é possível executar código gerenciado ou processar a chamada com êxito.

HOST_E_TIMEOUT

A chamada foi esgotado.

HOST_E_NOT_OWNER

O chamador não possui o bloqueio.

HOST_E_ABANDONED

Um evento foi cancelado, enquanto um segmento bloqueado ou fibra estava esperando por ele.

E_FAIL

Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é usável dentro do processo. As chamadas subseqüentes para hospedar os métodos retornam HOST_E_CLRNOTAVAILABLE.

E_OUTOFMEMORY

Não há memória suficiente está disponível para concluir a alocação solicitada.

Comentários

Chamada de seqüências de código não gerenciado e podem ser aninhadas. Por exemplo, a lista a seguir descreve uma situação hipotética em que a seqüência de chamadas para LeaveRuntime, IHostTaskManager::ReverseEnterRuntime, IHostTaskManager::ReverseLeaveRuntime, e IHostTaskManager::EnterRuntime permite que o host identificar as camadas aninhadas.

Ação

Chamada de método correspondente

A chamadas de executável gerenciado Visual Basic uma função não gerenciada, escrita em C, usando a plataforma chamar.

IHostTaskManager::LeaveRuntime

A função c não gerenciada chama um método em uma DLL gerenciada escrita em C#.

IHostTaskManager::ReverseEnterRuntime

A função C# gerenciada chama outra função não gerenciada escrita em C, também usando platform invoke.

IHostTaskManager::LeaveRuntime

A função não gerenciada segunda retorna a execução da função C#.

IHostTaskManager::EnterRuntime

A função C# retorna a execução para a primeira função não gerenciada.

IHostTaskManager::ReverseLeaveRuntime

A primeira função não gerenciada retorna a execução do programa Visual Basic.

IHostTaskManager::EnterRuntime

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso em mscoree

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface de ICLRTask

Interface de ICLRTaskManager

Interface de IHostTask

Interface de IHostTaskManager