Поделиться через


Метод IDebugRegisters2::GetValues2 (dbgeng.h)

Метод GetValues2 извлекает значение нескольких регистров целевого объекта.

Синтаксис

HRESULT GetValues2(
  [in]           ULONG        Source,
  [in]           ULONG        Count,
  [in, optional] PULONG       Indices,
  [in]           ULONG        Start,
  [out]          PDEBUG_VALUE Values
);

Параметры

[in] Source

Указывает источник регистрации для запроса.

Возможные значения перечислены в следующей таблице.

Значение Регистрация источника
DEBUG_REGSRC_DEBUGGEE Получение сведений о регистрации из целевого объекта.
DEBUG_REGSRC_EXPLICIT Получение сведений о регистре из текущего явного контекста регистра.
DEBUG_REGSRC_FRAME Получение сведений о регистре из текущего контекста регистрации область.
Примечание Очистка стека не гарантирует точное обновление контекста регистра, поэтому контекст регистра кадра область может быть точным не во всех случаях.
 

[in] Count

Указывает количество регистров, значения которых запрашиваются.

[in, optional] Indices

Задает массив, содержащий индексы регистров, из которых необходимо получить значения. Число элементов в этом массиве равно Count. Если параметр Индексы имеет значение NULL, вместо него используется start .

[in] Start

Если значение Indexs равно NULL, регистры будут считываться последовательно, начиная с этого индекса. В других случаях он игнорируется.

[out] Values

Получает значения регистров. Число элементов, которые содержит этот массив, равно Count. Описание этого типа параметров см. в DEBUG_VALUE .

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

Этот список не содержит всех ошибок, которые могут возникнуть. Список возможных ошибок см. в разделе Значения HRESULT.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
Значение индекса одного из регистров больше числа регистров на целевом компьютере. Возможно, были получены частичные результаты; Регистры, которые не удалось прочитать, будут иметь тип DEBUG_VALUE_INVALID.

Комментарии

Если возвращаемое значение не S_OK, некоторые регистры могут быть прочитаны. Если целевой объект был недоступен, тип возвращаемого значения будет E_UNEXPECTED, а значения не изменяются. В противном случае значения будут содержать частичные результаты, а регистры, которые не удалось прочитать, будут иметь тип DEBUG_VALUE_INVALID. Неоднозначность в случае возвращаемого значения E_UNEXPECTED можно избежать, задав для памяти Values нулевое значение перед вызовом этого метода.

Метод GetValues выполняет ту же задачу, что и этот метод, но всегда использует целевой объект в качестве источника регистра.

Общие сведения об интерфейсе IDebugRegisters и других методах , связанных с регистрами, см. в разделе Registers.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая DbgEng.h)

См. также раздел

GetValue

GetValues

IDebugRegisters2