IDebugEventCallbacksWide::SessionStatus method (dbgeng.h)
The SessionStatus callback method is called by the engine when a change occurs in the debugger session.
Syntax
HRESULT SessionStatus(
[in] ULONG Status
);
Parameters
[in] Status
Specifies the new status of the debugger session. The following table describes the possible values.
Value | Description |
---|---|
DEBUG_SESSION_ACTIVE | A debugger session has started. |
DEBUG_SESSION_END_SESSION_ACTIVE_TERMINATE | The session was ended by sending DEBUG_END_ACTIVE_TERMINATE to EndSession. |
DEBUG_SESSION_END_SESSION_ACTIVE_DETACH | The session was ended by sending DEBUG_END_ACTIVE_DETACH to EndSession. |
DEBUG_SESSION_END_SESSION_PASSIVE | The session was ended by sending DEBUG_END_PASSIVE to EndSession. |
DEBUG_SESSION_END | The target ran to completion, ending the session. |
DEBUG_SESSION_REBOOT | The target computer rebooted, ending the session. |
DEBUG_SESSION_HIBERNATE | The target computer went into hibernation, ending the session. |
DEBUG_SESSION_FAILURE | The engine was unable to continue the session. |
Return value
This method's return value is ignored by the engine.
Remarks
This method is only called by the engine if the DEBUG_EVENT_SESSION_STATUS flag is set in the mask returned by IDebugEventCallbacksWide::GetInterestMask.
After the engine has notified all the event callbacks of the change in the session status, it will also notify any loaded extensions that export the DebugExtensionNotify callback method. The value that it passes to the extensions depends on the value of Status. If Status is DEBUG_SESSION_ACTIVE, it passes DEBUG_SESSION_ACTIVE; otherwise, it passes DEBUG_SESSION_INACTIVE.
In the DEBUG_SESSION_ACTIVE case, the engine follows the debugger session change notification with a target state change notification by calling IDebugEventCallbacksWide::ChangeDebuggeeState on the event callbacks and passing DEBUG_CDS_ALL in the Flags parameter. In all other cases, the engine precedes this notification with an engine state change notification by calling IDebugEventCallbacksWide::ChangeEngineState on the event callbacks and passing DEBUG_CES_EXECUTION_STATUS in the Flags parameter.
For more information about handling events, see Monitoring Events. For information about debugger sessions, see Debugging Session and Execution Model.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | dbgeng.h (include Dbgeng.h) |