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