Udostępnij za pośrednictwem


ICLRSyncManager::GetMonitorOwner — Metoda

Pobiera wystąpienie IHostTask , które jest właścicielem monitora zidentyfikowane przez określony plik cookie.

Składnia

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

Parametry

cookie
[in] Plik cookie skojarzony z monitorem.

ppOwnerHostTask
[out] Wskaźnik do IHostTask tego, który jest obecnie właścicielem monitora lub ma wartość null, jeśli żadne zadanie nie ma własności.

Wartość zwracana

HRESULT Opis
S_OK GetMonitorOwner zwrócone pomyślnie.
HOST_E_CLRNOTAVAILABLE ClR nie został załadowany do procesu lub CLR jest w stanie, w którym nie może uruchomić zarządzanego kodu lub przetworzyć wywołania pomyślnie.
HOST_E_TIMEOUT Upłynął limit czasu wywołania.
HOST_E_NOT_OWNER Obiekt wywołujący nie jest właścicielem blokady.
HOST_E_ABANDONED Zdarzenie zostało anulowane, gdy zablokowany wątek lub światłowod czekał na nie.
E_FAIL Wystąpił nieznany katastrofalny błąd. Gdy metoda zwraca E_FAIL, clR nie będzie już można jej używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE.

Uwagi

Host zazwyczaj wywołuje GetMonitorOwner jako część mechanizmu wykrywania zakleszczeń. Plik cookie jest skojarzony z monitorem podczas jego tworzenia przy użyciu wywołania elementu IHostSyncManager::CreateMonitorEvent.

Uwaga

Wywołanie w celu zwolnienia zdarzenia źródłowego monitora może blokować — ale nie będzie zakleszczać — jeśli wywołanie tej metody jest obecnie wykonywane na pliku cookie skojarzonym z tym monitorem. Inne zadania mogą również blokować, jeśli podejmą próbę uzyskania tego monitora.

GetMonitorOwner funkcja zawsze zwraca natychmiast i może być wywoływana w dowolnym momencie po wywołaniu metody CreateMonitorEvent. Host nie musi czekać, aż zadanie czeka na zdarzenie.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: MSCorEE.h

Biblioteki: Uwzględnione jako zasób w MSCorEE.dll

wersje .NET Framework: dostępne od wersji 2.0

Zobacz też