Metodo ICLRSyncManager::GetMonitorOwner
Ottiene l'istanza IHostTask proprietaria del monitoraggio identificato dal cookie specificato.
Sintassi
HRESULT GetMonitorOwner (
[in] SIZE_T cookie,
[out] IHostTask *ppOwnerHostTask
);
Parametri
cookie
[in] Cookie associato al monitoraggio.
ppOwnerHostTask
[out] Puntatore all'oggetto IHostTask
proprietario del monitoraggio o Null se nessuna attività ha la proprietà.
Valore restituito
HRESULT | Descrizione |
---|---|
S_OK | GetMonitorOwner restituito correttamente. |
HOST_E_CLRNOTAVAILABLE | CLR non è stato caricato in un processo oppure CLR si trova in uno stato in cui non può eseguire codice gestito o elaborare correttamente la chiamata. |
HOST_E_TIMEOUT | Timeout della chiamata. |
HOST_E_NOT_OWNER | Il chiamante non possiede il blocco. |
HOST_E_ABANDONED | Un evento è stato annullato durante l'attesa di un thread o di una fibra bloccata. |
E_FAIL | Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE. |
Commenti
L'host chiama GetMonitorOwner
in genere come parte di un meccanismo di rilevamento dei deadlock. Il cookie è associato a un monitoraggio quando viene creato usando una chiamata a IHostSyncManager::CreateMonitorEvent.
Nota
Una chiamata per rilasciare l'evento sottostante il monitoraggio potrebbe bloccarsi, ma non si blocca, se una chiamata a questo metodo è attualmente attiva sul cookie associato a tale monitoraggio. Altre attività potrebbero anche bloccarsi se tentano di acquisire questo monitoraggio.
GetMonitorOwner
restituisce sempre immediatamente e può essere chiamato in qualsiasi momento dopo una chiamata a CreateMonitorEvent
. L'host non deve attendere finché un'attività non è in attesa dell'evento.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 2.0