IDebugRegisters2::SetValues2 方法 (dbgeng.h)
SetValues2 方法设置目标 寄存器的几个值。
语法
HRESULT SetValues2(
[in] ULONG Source,
[in] ULONG Count,
[in, optional] PULONG Indices,
[in] ULONG Start,
[in] PDEBUG_VALUE Values
);
参数
[in] Source
指定要查询的注册源。
下表列出了可能的值。
价值 | 注册源 |
---|---|
DEBUG_REGSRC_DEBUGGEE | 从目标中提取注册信息。 |
DEBUG_REGSRC_EXPLICIT | 从当前显式 寄存器上下文提取寄存器信息。 |
DEBUG_REGSRC_FRAME |
从当前范围的注册上下文中提取注册信息。
注意 Stack 展开不能保证寄存器上下文的准确更新,因此范围框架的寄存器上下文在所有情况下都可能不准确。
|
[in] Count
指定要为其设置值的寄存器数。
[in, optional] Indices
指定一个数组,其中包含要为其设置值的寄存器的索引。 此数组中的元素数 计数。 如果 索引NULL,则改用 Start。
[in] Start
如果 索引NULL,将从此索引处开始连续设置寄存器。 否则,将忽略它。
[in] Values
一个数组,其中包含要设置寄存器的值。 此数组保存的元素数 计数。 有关此参数类型的说明,请参阅 DEBUG_VALUE。
返回值
此列表不包含可能发生的所有错误。 有关可能的错误的列表,请参阅 HRESULT 值。
返回代码 | 描述 |
---|---|
|
该方法成功。 |
言论
引擎尽最大努力将 值 的值转换为寄存器的类型;此转换与 CoerceValue执行的作相同。 如果该值大于寄存器可以容纳的值,则会删除最小有效位。 如有必要,还将执行浮点转换和整数转换。
如果未S_OK返回值,则某些寄存器仍可能已设置。
更改子注册时,也会更改包含它的寄存器。
SetValues 的方法执行与此方法相同的任务,但始终使用目标作为注册源。
有关 IDebugRegisters 接口和其他与注册相关的方法的概述,请参阅 寄存器。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 DbgEng.h) |