IDiaStackWalkHelper2::GetPointerAuthenticationMask
Извлекает значение маски проверки подлинности указателя.
Синтаксис
HRESULT GetPointerAuthenticationMask (
ULONG64 PtrVal,
ULONG64* AuthMask
);
Параметры
PtrVal
[in] Указатель из стека, который необходимо декодировать.
AuthMask
[out] Возвращает значение маски проверки подлинности.
Возвращаемое значение
В случае успешного выполнения возвращается S_OK
; в противном случае возвращается код ошибки.
Замечания
В настоящее время только оборудование ARM64 и проверка подлинности ос поддерживают проверку подлинности указателя, поэтому этот обратный вызов вызывается только при переходе к стекам ARM64. Если AuthMask
заданы все биты (0xFFFFFFFFFFFFFFFFull
), то это означает, что целевой стек использует ту же проверку подлинности указателя, что и текущий процесс, и таким образом DIA должен использовать API ОС для декодирования указателя. И наоборот, если AuthMask
у него нет битов, это означает, что проверка подлинности указателя не используется или включена, поэтому указатель не должен быть декодирован. AuthMask
В противном случае должен быть установлен 1 бит для каждой части указателя, которая является частью проверки подлинности указателя, и 0 для базовых частей указателя.