Condividi tramite


Metodo ICLRSyncManager::GetMonitorOwner

Ottiene l'istanza di IHostTask proprietaria del monitor identificato dal cookie specificato.

HRESULT GetMonitorOwner (
    [in]  SIZE_T     cookie,
    [out] IHostTask *ppOwnerHostTask
);

Parametri

  • cookie
    [in] Cookie associato al monitor.

  • ppOwnerHostTask
    [out] Puntatore all'istanza di IHostTask che possiede attualmente il monitor oppure null se nessuna attività ne è proprietaria.

Valore restituito

HRESULT

Oggetto di descrizione

S_OK

GetMonitorOwner ha restituito correttamente un valore.

HOST_E_CLRNOTAVAILABLE

Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata.

HOST_E_TIMEOUT

Timeout della chiamata.

HOST_E_NOT_OWNER

Il chiamante non è il proprietario del blocco.

HOST_E_ABANDONED

Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento.

E_FAIL

Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le successive chiamate ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE.

Note

In genere, l'host chiama GetMonitorOwner nell'ambito di un meccanismo di rilevamento dei deadlock. Il cookie è associato a un monitor quando viene creato tramite una chiamata a IHostSyncManager::CreateMonitorEvent.

NotaNota

Una chiamata eseguita per il rilascio dell'evento sottostante al monitor potrebbe causare un blocco, ma non un deadlock, se sul cookie associato al monitor è attualmente in corso una chiamata a questo metodo.Anche le altre attività potrebbero causare un blocco, se tentano di acquisire il monitor.

Il metodo GetMonitorOwner restituisce sempre i risultati immediatamente e può essere chiamato in qualunque momento dopo una chiamata a CreateMonitorEvent. L'host non deve attendere finché un'attività rimane in attesa sull'evento.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Interfaccia ICLRSyncManager

Interfaccia IHostSyncManager