IHostTaskManager::LeaveRuntime, méthode
Avertit l'hôte que la tâche en cours d'exécution va quitter le Common Language Runtime (CLR) et entrer dans le code non managé.
Important |
---|
Un appel correspondant à IHostTaskManager::EnterRuntime avertit l'hôte que la tâche en cours d'exécution entre à nouveau dans le code managé. |
HRESULT LeaveRuntime (
[in] SIZE_T target
);
Paramètres
- target
[in] Adresse dans le fichier exécutable portable mappé de la fonction non managée à appeler.
Valeur de retour
HRESULT |
Description |
---|---|
S_OK |
LeaveRuntime a été retourné avec succès. |
HOST_E_CLRNOTAVAILABLE |
Le CLR n'a pas été chargé dans un processus ou le CLR présente un état dans lequel il ne peut pas exécuter de code managé ou traiter l'appel avec succès. |
HOST_E_TIMEOUT |
L'appel a expiré. |
HOST_E_NOT_OWNER |
L'appelant ne possède pas le verrou. |
HOST_E_ABANDONED |
Un événement a été annulé alors qu'un thread bloqué ou une fibre l'attendait. |
E_FAIL |
Une défaillance grave et inconnue s'est produite. Lorsqu'une méthode retourne E_FAIL, le CLR n'est plus utilisable dans le processus. Les appels suivants aux méthodes d'hébergement retournent HOST_E_CLRNOTAVAILABLE. |
E_OUTOFMEMORY |
Mémoire disponible insuffisante pour terminer l'allocation demandée. |
Notes
Les séquences d'appel de et à du code non managé peuvent être imbriquées. Par exemple, la liste ci-dessous décrit une situation hypothétique dans laquelle la séquence d'appels à LeaveRuntime, IHostTaskManager::ReverseEnterRuntime, IHostTaskManager::ReverseLeaveRuntime et IHostTaskManager::EnterRuntime permet à l'hôte d'identifier les couches imbriquées.
Action |
Appel de méthode correspondant |
---|---|
Un fichier exécutable managé Visual Basic appelle une fonction non managée écrite en C à l'aide de l'appel de code non managé. |
IHostTaskManager::LeaveRuntime |
La fonction C non managée appelle une méthode dans une DLL managée écrite en C#. |
IHostTaskManager::ReverseEnterRuntime |
La fonction C# managée appelle une autre fonction non managée écrite en C, également à l'aide de l'appel de code non managé. |
IHostTaskManager::LeaveRuntime |
La deuxième fonction non managée retourne l'exécution à la fonction C#. |
IHostTaskManager::EnterRuntime |
La fonction C# retourne l'exécution à la première fonction non managée. |
IHostTaskManager::ReverseLeaveRuntime |
La première fonction non managée retourne l'exécution au programme Visual Basic. |
IHostTaskManager::EnterRuntime |
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : MSCorEE.h
Bibliothèque : incluse en tant que ressource dans MSCorEE.dll
Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0