Поделиться через


функция обратного вызова 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 или более поздней версии

См. также