IDebugRegisters2::SetValues 方法 (dbgeng.h)

SetValues 方法设置目标 寄存器的几个值。

语法

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

参数

[in] Count

指定要为其设置值的寄存器数。

[in, optional] Indices

指定一个数组,其中包含要为其设置值的寄存器的索引。 此数组中的元素数 计数。 如果 索引NULL,则改用 Start

[in] Start

如果 索引NULL,将从此索引处开始连续设置寄存器。 否则,将忽略它。

[in] Values

指定包含要设置寄存器的值的数组。 此数组保留的元素数 计数。 有关此参数类型的说明,请参阅 DEBUG_VALUE

返回值

此列表不包含可能发生的所有错误。 有关可能的错误的列表,请参阅 HRESULT 值

返回代码 描述
S_OK
该方法成功。
E_UNEXPECTED
无法访问目标,或者无法访问一个或多个寄存器。
E_INVALIDARG
一个或多个寄存器的索引值大于目标计算机上的寄存器数。

言论

引擎尽最大努力将 的值强制转换为寄存器的类型;此强制与 CoerceValue执行的作相同。 如果该值大于寄存器可以容纳的值,则会删除最小有效位。 如有必要,还将执行浮点转换和整数转换。

如果未S_OK返回值,则某些寄存器仍可能已设置。

更改子注册时,也会更改包含它的寄存器。

若要仅设置单个寄存器的值,请改用 SetValue 方法。

SetValues2 方法 执行与此方法相同的任务,但也允许指定注册源。

有关 IDebugRegisters 接口和其他与注册相关的方法的概述,请参阅 寄存器

要求

要求 价值
目标平台 桌面
标头 dbgeng.h (包括 DbgEng.h)

另请参阅

IDebugRegisters

IDebugRegisters2

SetValue

SetValues2