(dbgeng.h) IDebugRegisters2::GetValues2 方法
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
如果 索引 為 NULL,則會從這個索引開始連續讀取緩存器。 否則會予以忽略。
[out] Values
接收快取器的值。 此陣列保留的項目數目為 Count。 如需此參數類型的描述 ,請參閱DEBUG_VALUE 。
傳回值
此清單不包含可能發生的所有錯誤。 如需可能的錯誤清單,請參閱 HRESULT 值。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
|
其中一個緩存器的索引值大於目標計算機上的緩存器數目。 可能已取得部分結果;無法讀取的緩存器會有類型DEBUG_VALUE_INVALID。 |
備註
如果傳回值未S_OK,部分緩存器仍可能已讀取。 如果無法存取目標,傳回類型會E_UNEXPECTED且 Values 未變更。 否則, 值 會包含部分結果,而無法讀取的緩存器將會有類型DEBUG_VALUE_INVALID。 在傳回值E_UNEXPECTED的情況下模棱兩可,方法是將 Values 的記憶體設定為零,再呼叫此方法。
GetValues 方法會執行與此方法相同的工作,但一律會使用目標作為緩存器來源。
如需 IDebugRegisters 介面和其他緩存器相關方法的概觀,請參閱 Registers。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 DbgEng.h) |