Debugging Tools for Windows

SetValue

The SetValue method sets the value of one of the target's registers.

HRESULT
  IDebugRegisters::GetValue(
    IN ULONG  Register,
    IN PDEBUG_VALUE  Value
    );

Parameters

Register
Specifies the index of the register whose value is to be set.
Value
Specifies the value to which to set the register. See DEBUG_VALUE for a description of this parameter type.

Return Value

S_OK
The method was successful.
E_UNEXPECTED
The target is not accessible, or the register could not be accessed.
E_INVALIDARG
The value of Register is greater than the number of registers on the target machine.

This list does not contain all the errors that might occur. For a list of possible errors, see HRESULT Values.

Interface Version

SetValue is available in all versions of IDebugRegisters.

Comments

The engine does its best to coerce the value of Value into the type of the register; this coercion is the same as that performed by CoerceValue. If the value is larger than what the register can hold, the least significant bits are dropped. Floating-point and integer conversions will also be performed if necessary.

When a subregister is altered, the register containing it is also altered.

To set the values of multiple registers, use the SetValues method instead.

For an overview of the IDebugRegisters interface and other register-related methods, see Registers.

Requirements

Headers: Defined in DbgEng.h. Include DbgEng.h.

See Also

SetValues, SetValues2

Build machine: CAPEBUILD