Метод IDebugHost::GetCurrentContext (dbgmodel.h)

Метод GetCurrentContext возвращает интерфейс, представляющий текущее состояние узла отладчика. Точное значение этого остается на узле, но обычно включает такие вещи, как сеанс, процесс и адресное пространство, активное в пользовательском интерфейсе узла отладки. Возвращаемый объект контекста в значительной степени непрозрачн для вызывающего объекта, но это важный объект для передачи между вызовами узла отладки. Если вызывающий объект, например, чтение памяти, важно знать, какой процесс и адресное пространство, из которого выполняется чтение памяти. Это понятие инкапсулируется в понятие объекта контекста, возвращаемого этим методом.

Каждый объект и символ в модели данных при необходимости содержит сведения о контексте, такие как связанный с ним. Кроме того, часто контекст передается из одного объекта в новые объекты, созданные как свойства существующих. Такие объекты, созданные узлом отладки, могут привести к внедрению дополнительных сведений контекста в возвращаемый объект (например, свойство Stack потока может внедрять сведения о том, какой поток ссылается на стек в контексте).

Синтаксис

HRESULT GetCurrentContext(
  IDebugHostContext **context
);

Параметры

context

Объект, представляющий текущий контекст узла, возвращается здесь.

Возвращаемое значение

Этот метод возвращает HRESULT, указывающий на успешность или сбой. Узел, который не имеет концепции контекстной информации, может вернуть E_NOTIMPL здесь.

Замечания

Пример кода

ComPtr<IDebugHost> spHost; /* get the debug host */

ComPtr<IDebugHostContext> spContext;
if (SUCCEEDED(spHost->GetCurrentContext(&spContext)))
{
    // spContext now contains an opaque object representing the current UI 
    // state of the debugger (e.g.: what session/process/thread the debug UI 
    // is focused on)
}

Требования

Требование Ценность
заголовка dbgmodel.h

См. также

интерфейс IDebugHost