PGET_TARGET_ATTRIBUTE_VALUE64回调函数 (dbghelp.h)

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 或更高版本

另请参阅