Compartir a través de


IHostTaskManager::LeaveRuntime (Método)

Notifica al host que la tarea que se está ejecutando actualmente está a punto de abandonar Common Language Runtime (CLR) y entrar en el código no administrado.

Nota importanteImportante

La llamada correspondiente a IHostTaskManager::EnterRuntime notifica al host que la tarea que se está ejecutando actualmente está volviendo a entrar en el código administrado.

HRESULT LeaveRuntime (
    [in] SIZE_T target
);

Parámetros

  • target
    [in] Dirección dentro del archivo ejecutable portable asignado de la función no administrada que se va a llamar.

Valor devuelto

HRESULT

Descripción

S_OK

LeaveRuntime finalizó correctamente.

HOST_E_CLRNOTAVAILABLE

CLR no se ha cargado en un proceso o está en un estado en el que no puede ejecutar el código administrado o procesar la llamada correctamente.

HOST_E_TIMEOUT

Se agotó el tiempo de espera de la llamada.

HOST_E_NOT_OWNER

El llamador no posee el bloqueo.

HOST_E_ABANDONED

Se canceló un evento mientras una fibra o un subproceso bloqueado estaba esperándole.

E_FAIL

Se ha producido un error catastrófico desconocido. Si un método devuelve E_FAIL, CLR no se puede seguir utilizando en el proceso. Las llamadas subsiguientes a métodos de hospedaje devuelven HOST_E_CLRNOTAVAILABLE.

E_OUTOFMEMORY

No hay suficiente memoria disponible para satisfacer la asignación solicitada.

Comentarios

Las secuencias de llamadas hacia y desde el código no administrado se pueden anidar. Por ejemplo, la lista siguiente describe una situación hipotética en la que la secuencia de llamadas a LeaveRuntime, IHostTaskManager::ReverseEnterRuntime, IHostTaskManager::ReverseLeaveRuntime y IHostTaskManager::EnterRuntime permite al host identificar las capas anidadas.

Acción

Llamada al método correspondiente

Un ejecutable de Visual Basic administrado llama a una función no administrada escrita en C utilizando la invocación de plataforma.

IHostTaskManager::LeaveRuntime

La función de C no administrada llama a un método en una DLL administrada escrita en C#.

IHostTaskManager::ReverseEnterRuntime

La función de C# administrada llama a otra función no administrada escrita en C, utilizando también la invocación de plataforma.

IHostTaskManager::LeaveRuntime

La segunda función no administrada devuelve la ejecución a la función de C#.

IHostTaskManager::EnterRuntime

La función de C# devuelve la ejecución a la primera función no administrada.

IHostTaskManager::ReverseLeaveRuntime

La primera función no administrada devuelve la ejecución al programa de Visual Basic.

IHostTaskManager::EnterRuntime

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: MSCorEE.h

Biblioteca: Se incluye como recurso en MsCorEE.dll

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vea también

Referencia

ICLRTask (Interfaz)

ICLRTaskManager (Interfaz)

IHostTask (Interfaz)

IHostTaskManager (Interfaz)