Metodo IDebugEventCallbacks::SessionStatus (dbgeng.h)
Il metodo di callback SessionStatus viene chiamato dal motore quando si verifica una modifica nella sessione del debugger.
Sintassi
HRESULT SessionStatus(
[in] ULONG Status
);
Parametri
[in] Status
Specifica il nuovo stato della sessione del debugger. Nella tabella seguente vengono descritti i valori possibili.
Valore | Descrizione |
---|---|
DEBUG_SESSION_ACTIVE | È stata avviata una sessione del debugger. |
DEBUG_SESSION_END_SESSION_ACTIVE_TERMINATE | La sessione è stata terminata inviando DEBUG_END_ACTIVE_TERMINATE a EndSession. |
DEBUG_SESSION_END_SESSION_ACTIVE_DETACH | La sessione è stata terminata inviando DEBUG_END_ACTIVE_DETACH a EndSession. |
DEBUG_SESSION_END_SESSION_PASSIVE | La sessione è stata terminata inviando DEBUG_END_PASSIVE a EndSession. |
DEBUG_SESSION_END | La destinazione è stata eseguita fino al completamento, terminando la sessione. |
DEBUG_SESSION_REBOOT | Il computer di destinazione è stato riavviato, terminando la sessione. |
DEBUG_SESSION_HIBERNATE | Il computer di destinazione è entrato in ibernazione, terminando la sessione. |
DEBUG_SESSION_FAILURE | Il motore non è riuscito a continuare la sessione. |
Valore restituito
Il valore restituito di questo metodo viene ignorato dal motore.
Osservazioni
Questo metodo viene chiamato dal motore solo se il flag DEBUG_EVENT_SESSION_STATUS è impostato nella maschera restituita da IDebugEventCallbacks::GetInterestMask.
Dopo che il motore ha informato tutti i callback degli eventi della modifica nello stato della sessione, notifica anche eventuali estensioni caricate che esportano il DebugExtensionNotify metodo di callback. Il valore passato alle estensioni dipende dal valore di Status. Se status è DEBUG_SESSION_ACTIVE, passa DEBUG_SESSION_ACTIVE; in caso contrario, passa DEBUG_SESSION_INACTIVE.
Nel caso DEBUG_SESSION_ACTIVE, il motore segue la notifica di modifica della sessione del debugger con una notifica di modifica dello stato di destinazione chiamando IDebugEventCallbacks::ChangeDebuggeeState sui callback dell'evento e passando DEBUG_CDS_ALL nel parametro Flags. In tutti gli altri casi, il motore precede questa notifica con una notifica di modifica dello stato del motore chiamando IDebugEventCallbacks::ChangeEngineState sui callback degli eventi e passando DEBUG_CES_EXECUTION_STATUS nel parametro Flags.
Per altre informazioni sulla gestione degli eventi, vedere Monitoraggio eventi. Per informazioni sulle sessioni del debugger, vedere Modello di esecuzione e sessione di debug.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | dbgeng.h (include Dbgeng.h) |