IDebugRegisters2::GetValues 方法 (dbgeng.h)
GetValues 方法获取目标 寄存器的几个值。
语法
HRESULT GetValues(
[in] ULONG Count,
[in, optional] PULONG Indices,
[in] ULONG Start,
[out] PDEBUG_VALUE Values
);
参数
[in] Count
指定请求其值的寄存器数。
[in, optional] Indices
指定一个数组,其中包含要从中获取值的寄存器的索引。 此数组中的元素数 计数。 如果 索引NULL,则改用 Start。
[in] Start
如果 索引NULL,则从此索引开始连续读取寄存器。 否则,将忽略它。
[out] Values
接收寄存器的值。 此数组保留的元素数 计数。 有关此参数类型的说明,请参阅 DEBUG_VALUE。
返回值
此列表不包含可能发生的所有错误。 有关可能的错误的列表,请参阅 HRESULT 值。
返回代码 | 描述 |
---|---|
|
该方法成功。 |
|
无法访问目标,或者无法访问其中一个寄存器。 |
|
其中一个寄存器的索引值大于目标计算机上的寄存器数。 可能已获取部分结果;无法读取的寄存器将具有类型DEBUG_VALUE_INVALID。 |
言论
GetValues 获取目标寄存器的多个值。
如果未S_OK返回值,则某些寄存器仍可能已读取。 如果无法访问目标,则返回类型E_UNEXPECTED,并且 值 保持不变;否则,值 将包含部分结果,无法读取的寄存器将具有类型DEBUG_VALUE_INVALID。 在返回值E_UNEXPECTED的情况下,可以通过在调用此方法之前将 值内存 设置为零来避免歧义。
若要仅接收单个寄存器的值,请改用 GetValue 方法。
GetValues2 的方法执行与此方法相同的任务,但也允许指定寄存器源。
有关 IDebugRegisters 接口和其他与注册相关的方法的概述,请参阅 寄存器。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 DbgEng.h) |