與 StackWalk2 函式搭配使用的應用程式定義回呼函式,。 它提供堆疊逐步解說所需的目標屬性值。
PGET_TARGET_ATTRIBUTE_VALUE64 類型會定義這個回呼函式的指標。 GetTargetAttributeValueProc64 是應用程式定義函數名稱的佔位元。
語法
PGET_TARGET_ATTRIBUTE_VALUE64 PgetTargetAttributeValue64;
BOOL PgetTargetAttributeValue64(
[in] HANDLE hProcess,
[in] DWORD Attribute,
[in] DWORD64 AttributeData,
[out] DWORD64 *AttributeValue
)
{...}
參數
[in] hProcess
產生堆疊追蹤之進程的句柄。
[in] Attribute
數值,指出所要求的atttribute。 目前定義的值為:
| 名字 | 價值 |
|---|---|
| TARGET_ATTRIBUTE_PACMASK (0x01) | 指出堆疊逐步解說程式正在針對正在逐步執行堆疊的進程要求ARM64指標驗證掩碼。 |
如果要求這個屬性,AttributeData 參數會指出正在擷取 PAC 遮罩的位址。 這可區分 EL0/1/2 的 PAC 遮罩(使用者模式與核心模式等...)。
如果停用 PAC(或堆疊逐步解說不適用於 ARM64 平臺),則實作應該會傳回 FALSE,指出無法提供此屬性。
特殊值 TARGET_ATTIBUTE_PACMASK_LIVETARGET (0xffffffff'ffffffff) 可能會傳回,表示 PAC 遮罩與呼叫 StackWalk2 的程式相同。
[in] AttributeData
與 Attribute 參數相關聯的數據值。 此參數的意義會根據所要求的屬性而有所不同。
[out] AttributeValue
回呼的實作必須先在此放置要求屬性的值,才能傳回成功。
傳回值
函式會傳回屬性值是否成功儲存在 AttributeValue 輸出參數中。 如果無法辨識指定的屬性,或與有問題的平台無關,函式應該會傳回 FALSE。
言論
typedef
BOOL
(__stdcall *PGET_TARGET_ATTRIBUTE_VALUE64)(
_In_ HANDLE hProcess,
_In_ DWORD Attribute,
_In_ DWORD64 AttributeData,
_Out_ DWORD64 *AttributeValue
);
要求
| 要求 | 價值 |
|---|---|
| 目標平臺 | 窗戶 |
| 標頭 | dbghelp.h |
| 可轉散發 | DbgHelp.dll 10.0.22621.4602 或更新版本 |