Freigeben über


ICorDebugHeapValue3::GetMonitorEventWaitList-Methode

Stellt eine sortierte Liste von Threads in der Warteschlange für das Ereignis bereit, das einer Monitorsperre zugeordnet ist.

Syntax

HRESULT GetMonitorEventWaitList (
    [out] ICorDebugThreadEnum **ppThreadEnum
);

Parameter

ppThreadEnum [out] Der ICorDebugThreadEnum-Enumerator, der die sortierte Liste der Threads bereitstellt.

Rückgabewert

Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler zurück, die Methodenfehler anzeigen.

HRESULT BESCHREIBUNG
S_OK Die Liste ist nicht leer.
S_FALSE Die Liste ist leer.

Ausnahmen

Bemerkungen

Der erste Thread in der Liste ist der erste Thread, der durch den nächsten Aufruf von Monitor.Pulse(Object) freigegeben wird. Der nächste Thread in der Liste wird beim folgenden Aufruf freigegeben usw.

Wenn die Liste nicht leer ist, gibt diese Methode „S_OK“ zurück. Wenn die Liste leer ist, gibt die Methode „S_FALSE“ zurück. In diesem Fall ist die Enumeration weiterhin gültig, obwohl sie leer ist.

In beiden Fällen kann die Enumerationsschnittstelle nur für die Dauer des aktuellen synchronisierten Zustands verwendet werden. Allerdings sind die Schnittstellen des Threads, die von der Liste entfernt werden, gültig, bis der Thread beendet wird.

Wenn ppThreadEnum kein gültiger Zeiger ist, ist das Ergebnis nicht definiert.

Wenn ein Fehler auftritt, sodass nicht ermittelt werden kann, ob und welche Threads auf den Monitor warten, gibt die Methode einen „HRESULT“ zurück, das einen Fehler anzeigt.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit Version 4 verfügbar

Siehe auch