Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft die IHostTask-Instanz ab, die Besitzer des Monitors ist, der durch das angegebene Cookie bezeichnet wird.
HRESULT GetMonitorOwner (
[in] SIZE_T cookie,
[out] IHostTask *ppOwnerHostTask
);
Parameter
cookie
[in] Das Cookie für den Monitor.ppOwnerHostTask
[out] Ein Zeiger auf die IHostTask, die derzeit Besitzer des Monitors ist, bzw. NULL, wenn keine Aufgabe Besitzer ist.
Rückgabewert
HRESULT |
Beschreibungen |
|---|---|
S_OK |
GetMonitorOwner erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE |
Die CLR wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT |
Der Aufruf hat das Zeitlimit überschritten. |
HOST_E_NOT_OWNER |
Der Aufrufer ist nicht Besitzer der Sperre. |
HOST_E_ABANDONED |
Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat. |
E_FAIL |
Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
Hinweise
Der Host ruft GetMonitorOwner normalerweise im Rahmen eines Mechanismus für das Erkennen von Deadlocks auf. Das Cookie wird bei der Erstellung mit einem Aufruf von IHostSyncManager::CreateMonitorEvent einem Monitor zugeordnet.
Hinweis |
|---|
Ein Aufruf zur Freigabe des Ereignisses, auf dem der Monitor basiert, kann blockieren (führt aber zu keinen Deadlock), wenn momentan ein Aufruf dieser Methode für das Cookie aktiv ist, das dem Monitor zugeordnet ist.Auch andere Aufgaben können blockieren, wenn sie versuchen, diesen Monitor zu erhalten. |
GetMonitorOwner kehrt immer sofort zurück und kann jederzeit nach einem Aufruf von CreateMonitorEvent aufgerufen werden. Der Host muss nicht warten, bis eine Aufgabe auf das Ereignis wartet.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: MSCorEE.h
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Hinweis