ICLRSyncManager::GetMonitorOwner, méthode
Mise à jour : novembre 2007
Obtient l'instance d'IHostTask qui possède l'analyseur identifié par le cookie spécifié.
HRESULT GetMonitorOwner (
[in] SIZE_T cookie,
[out] IHostTask *ppOwnerHostTask
);
Paramètres
cookie
[in] Cookie associé à l'analyseur.ppOwnerHostTask
[out] Pointeur vers IHostTask qui possède actuellement l'analyseur, ou null si aucune tâche n'est propriétaire.
Valeur de retour
HRESULT |
Description |
---|---|
S_OK |
GetMonitorOwner a été retourné correctement. |
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. |
Notes
L'hôte appelle généralement GetMonitorOwner dans le cadre d'un mécanisme de détection de verrouillages. Le cookie est associé à un analyseur lorsqu'il est créé à l'aide d'un appel à IHostSyncManager::CreateMonitorEvent.
Remarque : |
---|
Un appel destiné à libérer l'événement sous-jacent de l'analyseur peut se bloquer (mais pas se verrouiller) si un appel à cette méthode est appliqué au cookie associé à cet analyseur. D'autres tâches peuvent également se bloquer si elles tentent d'acquérir cet analyseur. |
GetMonitorOwner retourne toujours immédiatement et peut être appelé n'importe quand après un appel à CreateMonitorEvent. L'hôte n'a pas besoin d'attendre qu'une tâche attende l'événement.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : MSCorEE.idl
Bibliothèque : incluse en tant que ressource dans MSCorEE.dll
Versions du .NET Framework : 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0