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.
Importante |
---|
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