Debugging Tools for Windows |
The ChangeDebuggeeState callback method is called by the engine when it makes or detects changes to the target.
HRESULT
IDebugEventCallbacks::ChangeDebuggeeState(
IN ULONG Flags,
IN ULONG64 Argument
);
HRESULT
IDebugEventCallbacks::ChangeDebuggeeState(
IN ULONG Flags,
IN ULONG64 Argument
);
#ifdef UNICODE
#define IDebugEventCallbacksT IDebugEventCallbacksWide
#else
#define IDebugEventCallbacksT IDebugEventCallbacks
#endif
Value | Description |
---|---|
DEBUG_CDS_ALL | A general change in the target has occurred. For example, the target has been executing, or the engine has just attached to the target. |
DEBUG_CDS_REGISTERS | The processor's register for the target have changed. |
DEBUG_CDS_DATA | The target's data space has changed. |
Value | Description |
---|---|
DEBUG_DATA_SPACE_VIRTUAL | The target's virtual memory has changed. |
DEBUG_DATA_SPACE_PHYSICAL | The target's physical memory has changed. |
DEBUG_DATA_SPACE_CONTROL | The target's control memory has changed. |
DEBUG_DATA_SPACE_IO | The target's I/O ports have received input or output. |
DEBUG_DATA_SPACE_MSR | The target's Model-Specific Registers (MSRs) have changed. |
DEBUG_DATA_SPACE_BUS_DATA | The target's bus memory has changed. |
The return value is ignored by the engine unless it indicates a remote procedure call error; in this case the client, with which this IDebugEventCallbacks object is registered, is disabled.
The engine calls ChangeDebuggeeState only if the DEBUG_EVENT_CHANGE_DEBUGGEE_STATE flag is set in the mask returned by IDebugEventCallbacks::GetInterestMask.
For more information about handling events, see Monitoring Events. For information about managing the target's memory, including registers and data spaces, see Memory Access. For information about the target's virtual and physical memory, see Virtual and Physical Memory. For information about the target's control memory, I/O ports, MSR, and bus memory, see Other Data Spaces.
Headers: Defined in dbgeng.h. Include dbgeng.h.