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


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

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

Синтаксис

ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;

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

Параметры

[in] TypeName

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

[in] Flags

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

[in] Offset

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

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

Отсутствует

Замечания

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

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

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

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

Требования

Требование Ценность
целевая платформа Рабочий стол
Заголовок engextcpp.hpp (include Engextcpp.hpp)

См. также

ExtExtension

ExtKnownStruct

инициализация