Condividi tramite


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 file 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 di DLL dell'estensione del debugger.)
DEBUG_CES_SYSTEMS Una destinazione è stata aggiunta o rimossa.
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 flag Flags è impostato 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 oppure se non è presente alcun thread-DEBUG_ANY_ID corrente. 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 punto di interruzione del punto di interruzione modificato o, se più di un punto di interruzione è stato modificato, 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) eventualmente 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 Sessione di debug e modello di esecuzione.

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 valore 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 è rappresentato dalle 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 è rappresentato dalle 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 questa IDebugEventCallbacks oggetto è registrato, è disabilitato.

Osservazioni

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

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

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione dbgeng.h (include Dbgeng.h)