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) |