Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Notifica al host que la tarea que se está ejecutando actualmente está a punto de salir de Common Language Runtime (CLR) y escribir código no administrado.
Importante
Una llamada correspondiente a IHostTaskManager::EnterRuntime notifica al host que la tarea que se está ejecutando actualmente vuelve a escribir código administrado.
Sintaxis
HRESULT LeaveRuntime (
[in] SIZE_T target
);
Parámetros
target
[in] Dirección en el archivo ejecutable portátil asignado de la función no administrada a la que se va a llamar.
Valor devuelto
| HRESULT | Descripción |
|---|---|
| S_OK |
LeaveRuntime se devolvió correctamente. |
| HOST_E_CLRNOTAVAILABLE | Si se devuelve este valor, significa que Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente. |
| HOST_E_TIMEOUT | Se agotó el tiempo de espera de la llamada. |
| HOST_E_NOT_OWNER | El autor de la llamada no es el propietario del bloqueo. |
| HOST_E_ABANDONED | Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando. |
| E_FAIL | Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE. |
| E_OUTOFMEMORY | No hay memoria disponible suficiente para completar la asignación solicitada. |
Comentarios
Se pueden anidar secuencias de llamadas hacia el código no administrado y desde este. Por ejemplo, en la lista siguiente se 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 de método correspondiente |
|---|---|
| Un ejecutable administrado de Visual Basic llama a una función no administrada escrita en C mediante la invocación de plataforma. | IHostTaskManager::LeaveRuntime |
| La función de C no administrada llama a un método en un archivo DLL administrado escrito en C#. | IHostTaskManager::ReverseEnterRuntime |
| La función administrada de C# llama a otra función no administrada escrita en C, también mediante 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.
Encabezado: MSCorEE.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 2.0