IDebugControl3::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 müssen, bis diese Methode zurückgegeben wird. Wenn Timeout UNENDLICH 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 Live-Kernelziel verfügt, muss timeout auf INFINITE festgelegt werden.
Rückgabewert
Diese Methode gibt möglicherweise andere Fehlerwerte zurück, und die oben genannten 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. |
|
Entweder gibt es 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 (indem DEBUG_STATUS_BREAK zurückgegeben wird), 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 eingebrochen werden soll. Weitere Informationen zu Ereignisfiltern finden Sie unter Steuern von Ausnahmen und Ereignissen.
Diese Methode ist nicht wiedereintrittsfähig. Nach dem Aufruf kann es 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 Befehle, die von den Rückrufen ausgeführt werden.
Wenn keines der Ziele in der Lage ist, Ereignisse zu generieren – 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 -ziele finden Sie unter Debuggen von Sitzung und Ausführungsmodell. 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) |