ICorDebugRegisterSet2::GetRegisters メソッド
指定されたビット マスクによって指定された各レジスタ (コードが現在実行されているプラットフォーム用) の値を取得します。
構文
HRESULT GetRegisters (
[in] ULONG32 maskCount,
[in, size_is(maskCount)] BYTE mask[],
[in] ULONG32 regCount,
[out, size_is(regCount)] CORDB_REGISTER regBuffer[]
);
パラメーター
maskCount
[in] mask
配列のサイズ (バイト単位)。
mask
[in] バイトの配列。バイトの各ビットはレジスタに対応すします。 ビットが 1 の場合は、対応するレジスタの値が取得されます。
regCount
[in] 取得するレジスタ値の数。
regBuffer
[out] CORDB_REGISTER
オブジェクトの配列。各オブジェクトはレジスタの値を受け取ります。
解説
GetRegisters
メソッドは、マスクによって指定されたレジスタから値の配列を返します。 配列には、マスク ビットが設定されていないレジスタの値は格納されません。 そのため、regBuffer
配列のサイズはマスク内の 1 の数と等しくなければなりません。 マスクによって示されるレジスタの数に対して regCount
値が小さすぎる場合は、番号が大きいレジスタの値がセットから切り捨てられます。 regCount
が大きすぎる場合、未使用の regBuffer
要素は変更されません。
使用できないレジスタがマスクによって示されている場合、そのレジスタに対して不確定な値が返されます。
ICorDebugRegisterSet2::GetRegisters
メソッドは、64 を超えるレジスタがあるプラットフォームに必要です。 たとえば、IA64 には 128 の汎用レジスタと 128 の浮動小数点レジスタがあるため、ビット マスクには 64 ビット以上が必要です。
x86 などのプラットフォームの場合のように、64 を超えるレジスタがない場合、GetRegisters
メソッドは単に mask
バイト配列のバイトを ULONG64
に変換してから ICorDebugRegisterSet::GetRegisters メソッドを呼び出して、それにより ULONG64
マスクを取得します。
必要条件
:「システム要件」を参照してください。
ヘッダー: CorDebug.idl、CorDebug.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
.NET