次の方法で共有


IDebugRegisters2::GetValues2 メソッド (dbgeng.h)

GetValues2 メソッドは、ターゲットの複数のレジスタの値をフェッチします。

構文

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

パラメーター

[in] Source

クエリを実行するレジスタ ソースを指定します。

使用可能な値を次の表に示します。

ソースの登録
DEBUG_REGSRC_DEBUGGEE ターゲットからレジスタ情報をフェッチします。
DEBUG_REGSRC_EXPLICIT 現在の明示的な レジスタ コンテキストからレジスタ情報をフェッチします
DEBUG_REGSRC_FRAME 現在のスコープのレジスタ コンテキストからレジスタ情報をフェッチします。
メモ スタック アンワインドでは、レジスタ コンテキストの正確な更新は保証されないため、スコープ フレームのレジスタ コンテキストは、すべてのケースで正確ではない可能性があります。
 

[in] Count

値が要求されるレジスタの数を指定します。

[in, optional] Indices

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

[in] Start

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

[out] Values

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

戻り値

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

リターン コード 説明
S_OK
メソッドは正常に実行されました。
E_INVALIDARG
いずれかのレジスタのインデックスの値が、ターゲット コンピューター上のレジスタの数を超えています。 部分的な結果が得られた可能性があります。読み取ることができなかったレジスタの型はDEBUG_VALUE_INVALID。

注釈

戻り値がS_OKされていない場合でも、一部のレジスタが読み取られた可能性があります。 ターゲットにアクセスできなかった場合、戻り値の型はE_UNEXPECTEDされ 、値 は変更されません。 それ以外の場合、 には部分的な結果が含まれます。読み取ることができなかったレジスタの型はDEBUG_VALUE_INVALID。 戻り値E_UNEXPECTEDの場合のあいまいさは、このメソッドを呼び出す前に Values のメモリを 0 に設定することで回避できます。

メソッド GetValues は、このメソッドと同じタスクを実行しますが、常にターゲットをレジスタ ソースとして使用します。

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

要件

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

こちらもご覧ください

GetValue

GetValues

IDebugRegisters2