Поделиться через


Метод IDebugEventCallbacksWide::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 установлен в маске, возвращаемой IDebugEventCallbacksWide::GetInterestMask.

После того как подсистема уведомит все обратные вызовы событий об изменении состояния сеанса, он также уведомит все загруженные расширения , которые экспортируют метод обратного вызова DebugExtensionNotify . Значение, которое он передает расширениям, зависит от значения Status. Если состояние DEBUG_SESSION_ACTIVE, оно передается DEBUG_SESSION_ACTIVE; в противном случае он передает DEBUG_SESSION_INACTIVE.

В DEBUG_SESSION_ACTIVE случае подсистема следует за уведомлением об изменении сеанса отладчика с уведомлением об изменении целевого состояния, вызывая IDebugEventCallbacksWide::ChangeDebuggeeState для обратных вызовов события и передавая DEBUG_CDS_ALL в параметре Flags . Во всех остальных случаях подсистема предшествует этому уведомлению об изменении состояния подсистемы, вызывая IDebugEventCallbacksWide::ChangeEngineState для обратных вызовов событий и передавая DEBUG_CES_EXECUTION_STATUS в параметре Flags .

Дополнительные сведения об обработке событий см. в разделе События мониторинга. Сведения о сеансах отладчика см. в разделе Отладка сеансов и модель выполнения.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)