IDiaStackWalkHelper2::GetPointerAuthenticationMask
Pobiera wartość maski uwierzytelniania wskaźnika.
Składnia
HRESULT GetPointerAuthenticationMask (
ULONG64 PtrVal,
ULONG64* AuthMask
);
Parametry
PtrVal
[in] Wskaźnik ze stosu do dekodowania.
AuthMask
[out] Zwraca wartość maski uwierzytelniania.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK
; w przeciwnym razie zwraca kod błędu.
Uwagi
Obecnie tylko sprzęt ARM64 i system operacyjny obsługują uwierzytelnianie wskaźnika, więc to wywołanie zwrotne jest zawsze wywoływane tylko podczas chodzenia stosów ARM64. Jeśli AuthMask
ustawiono wszystkie bity (0xFFFFFFFFFFFFFFFFull
), oznacza to, że docelowy stos współudzieli to samo uwierzytelnianie wskaźnika co bieżący proces, a tym samym DIA powinien używać interfejsów API systemu operacyjnego do dekodowania wskaźnika. Z drugiej strony, jeśli AuthMask
nie ustawiono bitów, oznacza to, że uwierzytelnianie wskaźnika nie jest używane ani włączone, a tym samym wskaźnik nie musi być zdekodowany. AuthMask
W przeciwnym razie powinien mieć ustawiony 1 bit dla każdej części wskaźnika, który jest częścią uwierzytelniania wskaźnika, i 0 dla podstawowych części wskaźnika.