Метод IDebugEventCallbacks::SessionStatus (dbgeng.h)
Метод обратного вызова SessionStatus вызывается подсистемой при изменении в сеансе отладчика.
Синтаксис
HRESULT SessionStatus(
[in] ULONG Status
);
Параметры
[in] Status
Указывает новое состояние сеанса отладчика. В следующей таблице описаны возможные значения.
Значение | Описание |
---|---|
DEBUG_SESSION_ACTIVE | Сеанс отладчика запущен. |
DEBUG_SESSION_END_SESSION_ACTIVE_TERMINATE | Сеанс завершился отправкой DEBUG_END_ACTIVE_TERMINATE в EndSession. |
DEBUG_SESSION_END_SESSION_ACTIVE_DETACH | Сеанс был завершен отправкой DEBUG_END_ACTIVE_DETACH в EndSession. |
DEBUG_SESSION_END_SESSION_PASSIVE | Сеанс был завершен отправкой DEBUG_END_PASSIVE в EndSession. |
DEBUG_SESSION_END | Целевой объект выполнился до завершения, завершив сеанс. |
DEBUG_SESSION_REBOOT | Целевой компьютер перезагрузился, завершив сеанс. |
DEBUG_SESSION_HIBERNATE | Целевой компьютер перешел в режим гибернации, завершив сеанс. |
DEBUG_SESSION_FAILURE | Подсистеме не удалось продолжить сеанс. |
Возвращаемое значение
Возвращаемое значение этого метода игнорируется подсистемой.
Комментарии
Этот метод вызывается обработчиком, только если флаг DEBUG_EVENT_SESSION_STATUS установлен в маске, возвращаемой методом IDebugEventCallbacks::GetInterestMask.
После того как подсистема уведомит все обратные вызовы событий об изменении состояния сеанса, она также будет уведомлять все загруженные расширения , которые экспортируют метод обратного вызова DebugExtensionNotify . Значение, которое он передает расширениям, зависит от значения Status. Если параметр Status имеет значение DEBUG_SESSION_ACTIVE, он передается DEBUG_SESSION_ACTIVE; в противном случае он передает DEBUG_SESSION_INACTIVE.
В DEBUG_SESSION_ACTIVE случае подсистема следует за уведомлением об изменении сеанса отладчика с уведомлением об изменении целевого состояния, вызывая IDebugEventCallbacks::ChangeDebuggeeState для обратных вызовов события и передавая DEBUG_CDS_ALL в параметре Flags . Во всех остальных случаях подсистема предшествует этому уведомлению об изменении состояния подсистемы, вызывая IDebugEventCallbacks::ChangeEngineState в обратных вызовах события и передавая DEBUG_CES_EXECUTION_STATUS в параметре Flags .
Дополнительные сведения об обработке событий см. в разделе Мониторинг событий. Сведения о сеансах отладчика см. в разделе Отладка сеанса и модели выполнения.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | dbgeng.h (включая Dbgeng.h) |