функция обратного вызова 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. Это позволяет различать маски PAC для EL0/1/2 (режим пользователя и режим ядра и т. д.).
Если PAC отключен (или пошаговое руководство по стеку не предназначено для платформы ARM64), реализация должна вернуть значение FALSE, указывающее, что этот атрибут не может быть предоставлен.
Специальное значение TARGET_ATTIBUTE_PACMASK_LIVETARGET (0xffffffff'ffffff) может быть возвращено в качестве указания, что маска PAC совпадает с процессом вызова StackWalk2.
[in] AttributeData
Значение данных, связанное с параметром атрибута. Значение этого параметра зависит от запрошенного атрибута.
[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 или более поздней версии |