Freigeben über


IDebugControl2::WaitForEvent-Methode (dbgeng.h)

Die WaitForEvent--Methode wartet auf ein Ereignis, das in die Debuggermodulanwendung einbricht.

Syntax

HRESULT WaitForEvent(
  [in] ULONG Flags,
  [in] ULONG Timeout
);

Parameter

[in] Flags

Auf Null festgelegt. Derzeit gibt es keine Flags, die in diesem Parameter verwendet werden können.

[in] Timeout

Gibt an, wie viele Millisekunden gewartet werden sollen, bevor diese Methode zurückgegeben wird. Wenn Timeout- UNENDLICH ist, wird diese Methode erst zurückgegeben, wenn ein Ereignis zurückgegeben wird, das in die Debuggermodulanwendung einbricht oder ein Exit-Interrupt ausgegeben wird. Wenn die aktuelle Sitzung über ein Live-Kernelziel verfügt, muss Timeout- auf INFINITE festgelegt werden.

Rückgabewert

Diese Methode kann andere Fehlerwerte zurückgeben, und die obigen Fehlerwerte können zusätzliche Bedeutungen haben. Weitere Informationen finden Sie unter Rückgabewerte.

Rückgabecode Beschreibung
S_OK
Die Methode war erfolgreich.
S_FALSE
Das Timeout ist abgelaufen.
E_PENDING
Es wurde ein Exit-Interrupt ausgegeben. Das Ziel ist nicht verfügbar.
E_UNEXPECTED
Es gibt entweder eine ausstehende Anforderung für Eingaben, oder keines der Ziele kann Ereignisse generieren.
E_FAIL
Das Modul wartet bereits auf ein Ereignis.

Bemerkungen

Die Methode kann nur über den Thread aufgerufen werden, der die Debuggersitzung gestartet hat.

Wenn ein Ereignis auftritt, verarbeitet das Debuggermodul das Ereignis und ruft die Ereignisrückrufe auf. Wenn eines dieser Rückrufe angibt, dass das Ereignis in die Debuggermodulanwendung (durch Zurückgeben DEBUG_STATUS_BREAK) unterteilt werden soll, wird diese Methode zurückgegeben; andernfalls wartet sie weiterhin auf ein Ereignis. Die Ereignisfilter können auch angeben, dass ein Ereignis in die Debuggermodulanwendung unterteilt werden soll. Weitere Informationen zu Ereignisfiltern finden Sie unter Steuern von Ausnahmen und Ereignissen.

Diese Methode ist keine Erneuteinsteiger. Nachdem sie aufgerufen wurde, kann sie erst wieder auf einem Client aufgerufen werden, wenn sie zurückgegeben wurde. Insbesondere kann sie nicht aus den Ereignisrückrufen aufgerufen werden, einschließlich Erweiterungen und Befehle, die von den Rückrufen ausgeführt werden.

Wenn keines der Ziele in der Lage ist, Ereignisse zu generieren , z. B. alle Ziele beendet wurden - beendet wird, beendet diese Methode die aktuelle Sitzung, verwerfen Sie die Ziele und geben dann E_UNEXPECTED zurück.

Die Konstante INFINITE wird in Winbase.h definiert.

Weitere Informationen zur Verwendung von WaitForEvent- zum Steuern des Ausführungsflusses der Debuggeranwendung und -ziele finden Sie unter Debugging Session and Execution Model. Ausführliche Informationen zu den Ereignisrückrufen finden Sie unter Monitoring Events.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- dbgeng.h (include Dbgeng.h, Winbase.h)

Siehe auch

IDebugControl-

IDebugControl2-

IDebugControl3-