IDiaStackWalkHelper2::GetPointerAuthenticationMask
检索指针身份验证掩码的值。
语法
HRESULT GetPointerAuthenticationMask (
ULONG64 PtrVal,
ULONG64* AuthMask
);
参数
PtrVal
[in]要解码的堆栈中的指针。
AuthMask
[out]返回身份验证掩码的值。
返回值
如果成功,则返回 S_OK
;否则,返回错误代码。
注解
目前只有 ARM64 硬件和 OS 支持指针身份验证,因此在行走 ARM64 堆栈时,只会调用此回调。 如果 AuthMask
设置了所有位(0xFFFFFFFFFFFFFFFFull
),则表示目标堆栈与当前进程共享相同的指针身份验证,因此 DIA 应使用 OS API 解码指针。 相反,如果没有 AuthMask
设置位,则表示指针身份验证未使用或启用,因此不需要解码指针。 否则, AuthMask
对于作为指针身份验证的一部分的指针的每个部分,应设置 1 位,对于指针的基本部分应为 0。