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