Metodo IDebugEventCallbacks::ChangeEngineState (dbgeng.h)

Il metodo di callback ChangeEngineState viene chiamato dal motore quando il relativo stato è cambiato.

Sintassi

HRESULT ChangeEngineState(
  [in] ULONG   Flags,
  [in] ULONG64 Argument
);

Parametri

[in] Flags

Specifica un set di bit che indica il tipo di modifiche che si sono verificate nello stato del motore. È possibile impostare i flag di bit seguenti:

Valore Descrizione
DEBUG_CES_CURRENT_THREAD Il thread corrente è stato modificato, il che implica che anche la destinazione corrente e il processo corrente potrebbero essere stati modificati.
DEBUG_CES_EFFECTIVE_PROCESSOR Il processore effettivo è cambiato.
DEBUG_CES_BREAKPOINTS Uno o più punti di interruzione sono stati modificati.
DEBUG_CES_CODE_LEVEL Il livello di interpretazione del codice è cambiato.
DEBUG_CES_EXECUTION_STATUS Lo stato di esecuzione è stato modificato.
DEBUG_CES_ENGINE_OPTIONS Le opzioni del motore sono state modificate.
DEBUG_CES_LOG_FILE Il file di log è stato aperto o chiuso.
DEBUG_CES_RADIX Il radix predefinito è stato modificato.
DEBUG_CES_EVENT_FILTERS I filtri eventi sono stati modificati.
DEBUG_CES_PROCESS_OPTIONS Le opzioni di processo per il processo corrente sono state modificate.
DEBUG_CES_EXTENSIONS Le DLL di estensione sono state caricate o scaricate. Per altre informazioni, vedere Caricamento delle DLL dell'estensione del debugger.
DEBUG_CES_SYSTEMS È stata aggiunta o rimossa una destinazione.
DEBUG_CES_ASSEMBLY_OPTIONS Le opzioni di assemblaggio sono state modificate.
DEBUG_CES_EXPRESSION_SYNTAX La sintassi dell'espressione predefinita è stata modificata.
DEBUG_CES_TEXT_REPLACEMENTS Le sostituzioni di testo sono state modificate.

[in] Argument

Fornisce informazioni aggiuntive sulla modifica allo stato del motore. Se nel parametro Flags sono impostati più flag di bit, il parametro Argument non viene utilizzato. In caso contrario, l'interpretazione del valore di Argument dipende dal valore di Flags:

DEBUG_CES_CURRENT_THREAD

Il valore di Argument è l'ID thread del motore corrente o, se non è presente alcun thread corrente, DEBUG_ANY_ID. Per altre informazioni, vedere Thread e processi.

DEBUG_CES_EFFECTIVE_PROCESSOR

Il valore di Argument è il tipo del processore effettivo.

DEBUG_CES_BREAKPOINTS

Il valore di Argument è l'ID del punto di interruzione del punto di interruzione modificato o, se è stato modificato più di un punto di interruzione, DEBUG_ANY_ID. Per altre informazioni, vedere Punti di interruzione.

DEBUG_CES_CODE_LEVEL

Il valore di Argument è il livello di interpretazione del codice.

DEBUG_CES_EXECUTION_STATUS

Il valore di Argument è lo stato di esecuzione (come descritto nell'argomento DEBUG_STATUS_XXX ) possibilmente combinato con il flag di bit DEBUG_STATUS_INSIDE_WAIT. DEBUG_STATUS_INSIDE_WAIT viene impostato quando una chiamata WaitForEvent è in sospeso. Per altre informazioni, vedere Debug di sessioni ed esecuzione del modello.

DEBUG_CES_ENGINE_OPTIONS

Il valore di Argument è rappresentato dalle opzioni del motore.

DEBUG_CES_LOG_FILE

Il valore di Argument è TRUE se il file di log è stato aperto e FALSE se il file di log è stato chiuso.

DEBUG_CES_RADIX

Il valore di Argument è il radix predefinito.

DEBUG_CES_EVENT_FILTERS

Il valore di Argument è l'indice del filtro eventi modificato o, se più filtri eventi sono stati modificati, DEBUG_ANY_ID.

DEBUG_CES_PROCESS_OPTIONS

Il valore di Argument è le opzioni di processo per il processo corrente.

DEBUG_CES_EXTENSIONS

Il valore di Argument è zero.

DEBUG_CES_SYSTEMS

Il valore di Argument è l'ID di destinazione della destinazione aggiunta o, se una destinazione è stata rimossa, DEBUG_ANY_ID.

DEBUG_CES_ASSEMBLE_OPTIONS

Il valore di Argument è le opzioni di assemblaggio.

DEBUG_CES_EXPRESSION_SYNTAX

Il valore di Argument è la sintassi dell'espressione predefinita.

DEBUG_CES_TEXT_REPLACEMENTS

Il valore di Argument è DEBUG_ANY_ID.

Valore restituito

Il valore restituito viene ignorato dal motore a meno che non indichi un errore di chiamata di procedura remota; in questo caso il client, con cui viene registrato l'oggetto IDebugEventCallbacks , è disabilitato.

Commenti

Questo metodo viene chiamato solo dal motore se il flag DEBUG_EVENT_CHANGE_ENGINE_STATE è impostato nella maschera restituita da IDebugEventCallbacks::GetInterestMask.

Per altre informazioni sulla gestione degli eventi, vedere Monitoraggio degli eventi.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione dbgeng.h (include Dbgeng.h)