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 |
---|---|
|
Die Methode war erfolgreich. |
|
Das Timeout ist abgelaufen. |
|
Ein Exit-Interrupt wurde ausgegeben. Das Ziel ist nicht verfügbar. |
|
Es gibt entweder eine ausstehende Eingabeanforderung, oder keines der Ziele kann Ereignisse generieren. |
|
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) |