Partager via


Méthode IDebugEventCallbacks ::SessionStatus (dbgeng.h)

La méthode de rappel SessionStatus est appelée par le moteur lorsqu’une modification se produit dans la session du débogueur.

Syntaxe

HRESULT SessionStatus(
  [in] ULONG Status
);

Paramètres

[in] Status

Spécifie la nouvelle status de la session de débogueur. Le tableau suivant décrit les valeurs possibles.

Valeur Description
DEBUG_SESSION_ACTIVE Une session de débogueur a démarré.
DEBUG_SESSION_END_SESSION_ACTIVE_TERMINATE La session a été terminée par l’envoi de DEBUG_END_ACTIVE_TERMINATE à EndSession.
DEBUG_SESSION_END_SESSION_ACTIVE_DETACH La session a été terminée par l’envoi de DEBUG_END_ACTIVE_DETACH à EndSession.
DEBUG_SESSION_END_SESSION_PASSIVE La session a été terminée par l’envoi de DEBUG_END_PASSIVE à EndSession.
DEBUG_SESSION_END La cible s’est exécutée jusqu’à l’achèvement, mettant fin à la session.
DEBUG_SESSION_REBOOT L’ordinateur cible a redémarré, mettant fin à la session.
DEBUG_SESSION_HIBERNATE L’ordinateur cible est entré en veille prolongée, mettant fin à la session.
DEBUG_SESSION_FAILURE Le moteur n’a pas pu continuer la session.

Valeur retournée

La valeur de retour de cette méthode est ignorée par le moteur.

Remarques

Cette méthode n’est appelée par le moteur que si l’indicateur DEBUG_EVENT_SESSION_STATUS est défini dans le masque retourné par IDebugEventCallbacks ::GetInterestMask.

Une fois que le moteur a averti tous les rappels d’événements de la modification apportée au status de session, il notifie également toutes les extensions chargées qui exportent la méthode de rappel DebugExtensionNotify. La valeur qu’il transmet aux extensions dépend de la valeur État. Si Status est DEBUG_SESSION_ACTIVE, il passe DEBUG_SESSION_ACTIVE ; sinon, il passe DEBUG_SESSION_INACTIVE.

Dans le cas DEBUG_SESSION_ACTIVE, le moteur suit la notification de changement de session du débogueur avec une notification de changement d’état cible en appelant IDebugEventCallbacks ::ChangeDebuggeeState sur les rappels d’événements et en passant DEBUG_CDS_ALL dans le paramètre Flags . Dans tous les autres cas, le moteur précède cette notification avec une notification de changement d’état du moteur en appelant IDebugEventCallbacks ::ChangeEngineState sur les rappels d’événements et en passant DEBUG_CES_EXECUTION_STATUS dans le paramètre Flags .

Pour plus d’informations sur la gestion des événements, consultez Surveillance des événements. Pour plus d’informations sur les sessions de débogueur, consultez Débogage de session et modèle d’exécution.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)