Метод IDebugSymbols2::SetScope (dbgeng.h)

Метод SetScope задает текущую область.

Синтаксис

HRESULT SetScope(
  [in]           ULONG64            InstructionOffset,
  [in, optional] PDEBUG_STACK_FRAME ScopeFrame,
  [in, optional] PVOID              ScopeContext,
  [in]           ULONG              ScopeContextSize
);

Параметры

[in] InstructionOffset

Указывает расположение в виртуальном адресном пространстве процесса для текущей инструкции области. Это используется только в том случае, если ScopeFrame и ScopeContextNULL; в противном случае он игнорируется.

[in, optional] ScopeFrame

Указывает кадр стека области. Сведения об этой структуре см. в DEBUG_STACK_FRAME.

[in, optional] ScopeContext

Указывает контекста потокаобласти. Тип контекста потока — это структура CONTEXT для эффективного процессора целевого объекта. Буфер ScopeContext должен быть достаточно большим для хранения этой структуры. Если ScopeContextNULL, используется текущего контекста регистра.

[in] ScopeContextSize

Задает размер буфера ScopeContext.

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

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.

Возвращаемый код Описание
S_OK
Область, определяемая ИнструкцияOffset, ScopeFrameи ScopeContext совпадает со старой областью.
S_FALSE
Область изменилась.

Замечания

Если указана только ИнструкцияOffset, область можно использовать для поиска имен символов; однако значения этих символов не будут доступны.

Чтобы задать область предыдущего состояния, необходимо указать ScopeContext. Это не всегда необходимо (например, если вы хотите получить доступ только к символам, а не к регистрам регистров). Чтобы задать область кадра в текущем стеке, можно использовать SetScopeFrameByIndex.

Дополнительные сведения о областях см. в областях и группах символов.

Требования

Требование Ценность
целевая платформа Настольный
заголовка dbgeng.h (include Dbgeng.h)

См. также

GetScope

IDebugSymbols

IDebugSymbols2

IDebugSymbols3

ResetScope

SetScopeFrameByIndex