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


Функция обратного вызова ExtExtension::* ExtKnownStructMethod (engextcpp.hpp)

Метод обратного вызова ExtKnownStructMethod вызывается подсистемой для форматирования экземпляра структуры для вывода в одной строке.

Синтаксис

ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;

void Extextension::*Extknownstructmethod(
  [in] PCSTR TypeName,
  [in] ULONG Flags,
  [in] ULONG64 Offset
)
{...}

Параметры

[in] TypeName

Указывает имя типа структуры, на которую указывает offset. Это то же самое, что и поле TypeName структуры ExtKnownStruct , используемой для регистрации этого метода обратного вызова.

[in] Flags

Указывает битовые флаги, указывающие способ форматирования выходных данных. В настоящее время для этого параметра задано значение DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT, что означает, что выходные данные должны быть отформатированы для вывода в одной строке.

[in] Offset

Указывает расположение в памяти целевого объекта экземпляра структуры, отформатированного для вывода.

Возвращаемое значение

None

Remarks

Подсистема отладчика ожидает, что выходные данные будут отформатированы для печати в одной строке, поэтому он не ожидает, что форматированная структура будет иметь разрывы строк.

Форматированные выходные данные этого метода должны быть помещены в буфер m_AppendBuffer — член ExtExtension.

Экземпляры этого метода обратного вызова регистрируются в подсистеме с помощью экземпляра структуры ExtKnownStruct , который помещается в массив m_KnownStructs (член ExtExtension) методом Initialize . Структура ExtKnownStruct также указывает имя типа структуры, форматирует этот метод.

Когда подсистема отладчика вызывает известный метод структуры, он заключает вызов в блок try/except . Это защищает подсистему от некоторых типов ошибок в коде расширения; Но поскольку вызовы расширения выполняются в том же потоке, что и подсистема, они все равно могут привести к сбою.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть engextcpp.hpp (включая Engextcpp.hpp)

См. также раздел

ExtExtension

ExtKnownStruct

Initialize