(dbgeng.h) IDebugRegisters2::GetValues 方法

GetValues 方法會取得數個目標緩存器的值。

語法

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

參數

[in] Count

指定要求其值的緩存器數目。

[in, optional] Indices

指定陣列,其中包含要從中取得值的緩存器索引。 此陣列中的元素數目為 Count。 如果 索引NULL,則會改用 Start

[in] Start

如果 索引NULL,則會從這個索引開始連續讀取緩存器。 否則會忽略它。

[out] Values

接收快取器的值。 這個陣列保留的項目數目為 Count。 如需此參數類型的描述 ,請參閱DEBUG_VALUE

傳回值

此清單不包含可能發生的所有錯誤。 如需可能的錯誤清單,請參閱 HRESULT 值

傳回碼 描述
S_OK
此方法成功。
E_UNEXPECTED
無法存取目標,或無法存取其中一個緩存器。
E_INVALIDARG
其中一個緩存器的索引值大於目標計算機上的緩存器數目。 可能已取得部分結果;無法讀取的緩存器會有類型DEBUG_VALUE_INVALID。

備註

GetValues 會取得數個目標緩存器的值。

如果傳回值未S_OK,部分緩存器仍可能已讀取。 如果無法存取目標,則傳回類型會E_UNEXPECTED且 Values 未變更;否則, 會包含部分結果,而無法讀取的緩存器將會有類型DEBUG_VALUE_INVALID。 在傳回值E_UNEXPECTED的情況下模棱兩可,方法是將 Values 的記憶體設定為零,再呼叫此方法。

若要只接收單一緩存器的值,請改用 GetValue 方法。

GetValues2 方法會執行與這個方法相同的工作,但也允許指定緩存器來源。

如需 IDebugRegisters 介面和其他緩存器相關方法的概觀,請參閱 Registers

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包含 DbgEng.h)

另請參閱

GetValue

GetValues2

IDebugRegisters

IDebugRegisters2