次の方法で共有


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 の場合は、代わりに Start が使用されます。

[in] Start

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

[in] Values

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

戻り値

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

リターン コード 説明
S_OK
メソッドは正常に実行されました。
E_UNEXPECTED
ターゲットにアクセスできないか、1 つ以上のレジスタにアクセスできませんでした。
E_INVALIDARG
1 つ以上のレジスタのインデックスの値が、ターゲット コンピューター上のレジスタの数を超えています。

注釈

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

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

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

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

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

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

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (DbgEng.h を含む)

こちらもご覧ください

IDebugRegisters

IDebugRegisters2

SetValue

SetValues2