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