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