Méthode IDebugEventCallbacks ::ChangeEngineState (dbgeng.h)
La méthode de rappel ChangeEngineState est appelée par le moteur lorsque son état a changé.
Syntaxe
HRESULT ChangeEngineState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
Paramètres
[in] Flags
Spécifie un jeu de bits indiquant le type de modifications qui se sont produites dans l’état du moteur. Les indicateurs de bits suivants peuvent être définis :
Valeur | Description |
---|---|
DEBUG_CES_CURRENT_THREAD | Le thread actuel a changé, ce qui implique que la cible actuelle et le processus actuel ont également changé. |
DEBUG_CES_EFFECTIVE_PROCESSOR | Le processeur effectif a changé. |
DEBUG_CES_BREAKPOINTS | Un ou plusieurs points d’arrêt ont changé. |
DEBUG_CES_CODE_LEVEL | Le niveau d’interprétation du code a changé. |
DEBUG_CES_EXECUTION_STATUS | La status d’exécution a changé. |
DEBUG_CES_ENGINE_OPTIONS | Les options du moteur ont changé. |
DEBUG_CES_LOG_FILE | Le fichier journal a été ouvert ou fermé. |
DEBUG_CES_RADIX | Le radix par défaut a changé. |
DEBUG_CES_EVENT_FILTERS | Les filtres d’événements ont changé. |
DEBUG_CES_PROCESS_OPTIONS | Les options de processus pour le processus actuel ont changé. |
DEBUG_CES_EXTENSIONS | Les DLL d’extension ont été chargées ou déchargées. (Pour plus d’informations, consultez Chargement des DLL d’extension de débogueur.) |
DEBUG_CES_SYSTEMS | Une cible a été ajoutée ou supprimée. |
DEBUG_CES_ASSEMBLY_OPTIONS | Les options d’assemblage ont changé. |
DEBUG_CES_EXPRESSION_SYNTAX | La syntaxe d’expression par défaut a changé. |
DEBUG_CES_TEXT_REPLACEMENTS | Les remplacements de texte ont changé. |
[in] Argument
Fournit des informations supplémentaires sur la modification de l’état du moteur. Si plusieurs indicateurs de bits sont définis dans le paramètre Flags , le paramètre Argument n’est pas utilisé. Sinon, l’interprétation de la valeur de Argument dépend de la valeur des indicateurs :
DEBUG_CES_CURRENT_THREAD
La valeur de Argument est l’ID de thread du moteur actuel ou, s’il n’y a pas de thread actuel, DEBUG_ANY_ID. Pour plus d’informations, consultez Threads et processus.
DEBUG_CES_EFFECTIVE_PROCESSOR
La valeur de Argument est le type du processeur effectif.
DEBUG_CES_BREAKPOINTS
La valeur de Argument est l’ID de point d’arrêt du point d’arrêt qui a été modifié ou, si plusieurs points d’arrêt ont été modifiés, DEBUG_ANY_ID. Pour plus d’informations, consultez Points d’arrêt.
DEBUG_CES_CODE_LEVEL
La valeur de Argument est le niveau d’interprétation du code.
DEBUG_CES_EXECUTION_STATUS
La valeur de Argument est la status d’exécution (comme décrit dans la rubrique DEBUG_STATUS_XXX) éventuellement associée à l’indicateur de bits DEBUG_STATUS_INSIDE_WAIT. DEBUG_STATUS_INSIDE_WAIT est défini lorsqu’un appel WaitForEvent est en attente. Pour plus d’informations, consultez Débogage de session et modèle d’exécution.
DEBUG_CES_ENGINE_OPTIONS
La valeur de Argument est les options du moteur.
DEBUG_CES_LOG_FILE
La valeur de Argument est TRUE si le fichier journal a été ouvert et FALSE si le fichier journal a été fermé.
DEBUG_CES_RADIX
La valeur de Argument est le radix par défaut.
DEBUG_CES_EVENT_FILTERS
La valeur de Argument est l’index du filtre d’événements qui a été modifié ou, si plusieurs filtres d’événements ont été modifiés, DEBUG_ANY_ID.
DEBUG_CES_PROCESS_OPTIONS
La valeur de Argument est les options de processus pour le processus actuel.
DEBUG_CES_EXTENSIONS
La valeur de Argument est zéro.
DEBUG_CES_SYSTEMS
La valeur de Argument est l’ID cible de la cible qui a été ajoutée ou, si une cible a été supprimée, DEBUG_ANY_ID.
DEBUG_CES_ASSEMBLE_OPTIONS
La valeur de Argument est les options d’assemblage.
DEBUG_CES_EXPRESSION_SYNTAX
La valeur de Argument est la syntaxe d’expression par défaut.
DEBUG_CES_TEXT_REPLACEMENTS
La valeur de Argument est DEBUG_ANY_ID.
Valeur retournée
La valeur de retour est ignorée par le moteur, sauf si elle indique une erreur d’appel de procédure distante ; dans ce cas, le client, avec lequel cet objet IDebugEventCallbacks est inscrit, est désactivé.
Remarques
Cette méthode n’est appelée par le moteur que si l’indicateur DEBUG_EVENT_CHANGE_ENGINE_STATE est défini dans le masque retourné par IDebugEventCallbacks ::GetInterestMask.
Pour plus d’informations sur la gestion des événements, consultez Surveillance des événements.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h (inclure Dbgeng.h) |