Метод IDebugControl2::WaitForEvent (dbgeng.h)
Метод WaitForEvent ожидает события, которое прерывается в приложение обработчика отладчика.
Синтаксис
HRESULT WaitForEvent(
[in] ULONG Flags,
[in] ULONG Timeout
);
Параметры
[in] Flags
Установите значение нулю. В настоящее время нет флагов, которые можно использовать в этом параметре.
[in] Timeout
Указывает, сколько миллисекундах следует ожидать, прежде чем этот метод вернет. Если время ожидания имеет значение INFINITE, этот метод не возвращается до тех пор, пока событие, которое прерывается в приложение ядра отладчика, или прерывание выхода будет выдано. Если текущий сеанс имеет целевой объект динамического ядра, значение Timeout должно иметь значение INFINITE.
Возвращаемое значение
Этот метод может возвращать другие значения ошибок, а указанные выше значения ошибок могут иметь дополнительные значения. Дополнительные сведения см. в возвращаемых значений.
Возвращаемый код | Описание |
---|---|
|
Метод был успешным. |
|
Истек срок ожидания. |
|
Был выдан прерывание выхода. Целевой объект недоступен. |
|
Либо есть невыполненные запросы на входные данные, либо ни один из целевых объектов не может генерировать события. |
|
Подсистема уже ожидает события. |
Замечания
Метод можно вызывать только из потока, запускающего сеанс отладчика.
При возникновении события подсистема отладчика обработает событие и вызовет обратные вызовы событий. Если одно из этих обратных вызовов указывает, что событие должно разбиться на приложение обработчика отладчика (возвращая DEBUG_STATUS_BREAK), этот метод возвращается; в противном случае оно продолжит ожидание события. Фильтры событий также могут указывать, что событие должно разбиться на приложение обработчика отладчика. Дополнительные сведения о фильтрах событий см. в разделе Управление исключениями и событиями.
Этот метод не является повторным записью. После вызова он не может вызываться повторно на любом клиенте до тех пор, пока он не вернется. В частности, его нельзя вызывать из обратных вызовов событий, включая расширения и команды, выполняемые обратными вызовами.
Если ни один из целевых объектов не может создавать события , например, все целевые объекты завершились, этот метод завершит текущий сеанс, отменит целевые объекты, а затем возвращает E_UNEXPECTED.
Константа INFINITE определена в Winbase.h.
Дополнительные сведения об использовании WaitForEvent для управления потоком выполнения приложения и целевых объектов отладчика см. в модели отладки сеансов и выполнения. Дополнительные сведения о обратных вызовах событий см. в событий мониторинга.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | dbgeng.h (include Dbgeng.h, Winbase.h) |