Partilhar via


Método IHostTaskManager::LeaveRuntime

Notifica o host que a tarefa atualmente em execução é deixar a Common linguagem tempo de execução (CLR) e insira o código não gerenciado.

Observação importanteObservação importante:

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

HRESULT LeaveRuntime (
    [in] SIZE_T target
);

Parâmetros

  • target
    [in] O endereço dentro do arquivo PE mapeado da função não gerenciado a ser chamado.

Valor de retorno

HRESULT

Descrição

S_OK

LeaveRuntime retornado com êxito.

HOST_E_CLRNOTAVAILABLE

O CLR não foi carregado em um processo ou o CLR está em um estado em que ele não possa executar código gerenciado ou processar a telefonar com êxito.

HOST_E_TIMEOUT

A telefonar expirou.

HOST_E_NOT_OWNER

O chamador não é proprietário do bloquear.

HOST_E_ABANDONED

Um evento foi cancelado enquanto um segmento bloqueado ou fibra estava aguardando nele.

E_FAIL

Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é mais útil dentro do processo. As chamadas subseqüentes à hospedagem métodos retornam HOST_E_CLRNOTAVAILABLE.

E_OUTOFMEMORY

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

Comentários

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

Ação

telefonar de método correspondente

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

IHostTaskManager::LeaveRuntime

O DES gerenciado C função chama um método em uma DLL gerenciado escrito em translation from VPE for Csharp.

IHostTaskManager::ReverseEnterRuntime

A função translation from VPE for Csharp gerenciada chama outra função não gerenciada escrita em C, também usando invocação de plataforma.

IHostTaskManager::LeaveRuntime

A segunda função não gerenciada retorna a execução da função translation from VPE for Csharp.

IHostTaskManager::EnterRuntime

A função translation from VPE for Csharp 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 para o programa do Visual Basic.

IHostTaskManager::EnterRuntime

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: MSCorEE.idl

Biblioteca: Incluído sistema autônomo um recurso em MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface ICLRTask

Interface ICLRTaskManager

Interface IHostTask

Interface IHostTaskManager