IDebugHostContext interface (dbgmodel.h)

Represents a context of the debugger answers questions about (what session, process, thread).

Inheritance

IDebugHostContext inherits from IUnknown.

Methods

The IDebugHostContext interface has these methods.

 
IDebugHostContext::AddRef

The IDebugHostContext::AddRef method increments the reference count for an interface on an object.
IDebugHostContext::IsEqualTo

Returns whether two IDebugHostContext objects are equal by value.
IDebugHostContext::QueryInterface

The IDebugHostContext::QueryInterface method retrieves pointers to the supported interfaces on an object.
IDebugHostContext::Release

The IDebugHostContext::Release method decrements the reference count for an interface on an object.

Remarks

Context objects are opaque blobs of information that the debug host (in cooperation with the data model) associates with every object. It may include things such as the process context or address space the information comes from, etc... A context object is an implementation of IDebugHostContext boxed within an IModelObject.

Note that IDebugHostContext is a host defined interface. A client will never implement this interface.

Context: The Address Space

It is important to note that unlike prior extension models where context (the target, process, thread you are looking at) is a UI concept with all APIs relative to the current UI state, data model interfaces typically take this context either explicitly or implicitly as an IDebugHostContext interface. Each IModelObject within the data model carries this type of context information along with it and can propagate that context to objects it returns. This means that when you read a native value or a key value out of an IModelObject, it will read out of the target and process where the object was originally acquired from. There is an explicit constant value, USE_CURRENT_HOST_CONTEXT, that can be passed to methods which take an IDebugHostContext argument. This value indicates that the context should indeed be the current UI state of the debugger. This notion does, however, need to be explicit.

Requirements

Requirement Value
Header dbgmodel.h

See also

Debugger Data Model C++ Overview