次の方法で共有


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

値を設定するレジスタのインデックスを含む配列を指定します。 この配列内の要素の数は、count です。 インデックス が NULL 場合は、代わりに開始 使用されます。

[in] Start

インデックス が NULL 場合、レジスタはこのインデックスから連続して設定されます。 それ以外の場合は無視されます。

[in] Values

レジスタを設定する値を含む配列を指定します。 この配列が保持する要素の数は、count です。 このパラメーター型の説明については、DEBUG_VALUE を参照してください。

戻り値

この一覧には、発生する可能性のあるすべてのエラーが含まれているわけではありません。 発生する可能性のあるエラーの一覧については、「HRESULT 値 を参照してください。

リターン コード 形容
S_OK
メソッドが成功しました。
E_UNEXPECTED
ターゲットにアクセスできないか、1 つ以上のレジスタにアクセスできませんでした。
E_INVALIDARG
1 つ以上のレジスタのインデックスの値が、ターゲット コンピューター上のレジスタの数を超えています。

備考

エンジンは、レジスタの型に 値の値を強制するために最善を尽くします。この 強制 は、 CoerceValueによって実行されるのと同じです。 値がレジスタが保持できる値より大きい場合、下位ビットは削除されます。 必要に応じて、浮動小数点変換と整数変換も実行されます。

戻り値がS_OKされていない場合は、一部のレジスタがまだ設定されている可能性があります。

サブ登録が変更されると、それを含むレジスタも変更されます。

1 つのレジスタのみの値を設定するには、代わりに SetValue メソッドを使用します。

SetValues2 メソッドは、このメソッドと同じタスクを実行しますが、レジスタ ソースを指定することもできます。

IDebugRegisters インターフェイスおよびその他のレジスタ関連メソッドの概要については、「Registers」を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー dbgeng.h (DbgEng.h を含む)

関連項目

IDebugRegisters

IDebugRegisters2

SetValue

SetValues2