共用方式為


ICorDebugRegisterSet2::GetRegisters 方法

更新:2007 年 11 月

取得特定位元遮罩指定之每個暫存器 (針對目前正在執行程式碼的平台) 的值。

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 位元以上。

如果您沒有超過 64 個暫存器,例如 x86 平台的情況,GetRegisters 方法實際上只是將 mask 位元組陣列中的位元組轉譯為 ULONG64,接著呼叫 ICorDebugRegisterSet::GetRegisters 方法,以接受 ULONG64 遮罩。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**CorDebug.idl

**程式庫:**CorGuids.lib

**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

請參閱

參考

ICorDebugRegisterSet2

ICorDebugRegisterSet