IDebugHostContext2 interface (dbgmodel.h)

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

This version 2 of the interface supports all of the previous methods with identical signatures and includes additional new methods that provide added functionality. The new methods are listed in the header at the end of the section for that interface.

Inheritance

IDebugHostContext inherits from IDebugHostContext and IUnknown.

Methods

The IDebugHostContext2 interface has these methods.

 
IDebugHostContext2::AddRef

The AddRef method increments the reference count for the context object.
IDebugHostContext2::GetAddressSpaceRelation

The GetAddressSpaceRelation method returns the relationship between the virtual memory space of the current context and that of another specified context.
IDebugHostContext2::IsEqualTo

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

The QueryInterface method queries for a specific interface on a host context object.
IDebugHostContext2::Release

The Release method releases a reference to the host context.

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