IDebugControl2::WaitForEvent-Methode (dbgeng.h)

Die WaitForEvent-Methode wartet auf ein Ereignis, das in die Debugger-Engine-Anwendung einbricht.

Syntax

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

Parameter

[in] Flags

Auf NULL festlegen. Es gibt derzeit keine Flags, die in diesem Parameter verwendet werden können.

[in] Timeout

Gibt an, wie viele Millisekunden gewartet werden soll, bevor diese Methode zurückgegeben wird. Wenn Timeout INFINITE ist, wird diese Methode erst zurückgegeben, wenn ein Ereignis auftritt, das in die Debugger-Engine-Anwendung einbricht, oder ein Exit-Interrupt ausgegeben wird. Wenn die aktuelle Sitzung über ein Livekernkernziel verfügt, muss Timeout auf INFINITE festgelegt werden.

Rückgabewert

Diese Methode gibt möglicherweise andere Fehlerwerte zurück, und die obigen Fehlerwerte haben möglicherweise zusätzliche Bedeutungen. Weitere Informationen finden Sie unter Rückgabewerte .

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

Hinweise

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

Wenn ein Ereignis auftritt, verarbeitet die Debugger-Engine das Ereignis und ruft die Ereignisrückrufe auf. Wenn einer dieser Rückrufe angibt, dass das Ereignis in die Debugger-Engine-Anwendung unterteilt werden soll (durch Zurückgeben von DEBUG_STATUS_BREAK), wird diese Methode zurückgegeben. Andernfalls wird weiterhin auf ein Ereignis gewartet. Die Ereignisfilter können auch angeben, dass ein Ereignis in die Debugger-Engine-Anwendung einbricht. Weitere Informationen zu Ereignisfiltern finden Sie unter Steuern von Ausnahmen und Ereignissen.

Diese Methode ist nicht wiedereintrittsfähig. Nachdem er aufgerufen wurde, kann er auf keinem Client mehr aufgerufen werden, bis er zurückgegeben wurde. Insbesondere kann er nicht über die Ereignisrückrufe aufgerufen werden, einschließlich Erweiterungen und Befehlen, die von den Rückrufen ausgeführt werden.

Wenn keines der Ziele Ereignisse generieren kann (z. B. alle Ziele wurden beendet), beendet diese Methode die aktuelle Sitzung, verwirft die Ziele und gibt dann E_UNEXPECTED zurück.

Die Konstante INFINITE ist in Winbase.h definiert.

Weitere Informationen zur Verwendung von WaitForEvent zum Steuern des Ausführungsablaufs der Debuggeranwendung und der Ziele finden Sie unter Debuggen von Sitzungs- und Ausführungsmodellen. Ausführliche Informationen zu den Ereignisrückrufen finden Sie unter Überwachen von Ereignissen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h (einschließlich Dbgeng.h, Winbase.h)

Weitere Informationen

IDebugControl

IDebugControl2

IDebugControl3