Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод AddExtensionCommand добавляет новую запись FA в объект DebugFailureAnalysis и задает блок данных записи FA в указанную команду отладчика.
Синтаксис
PFA_ENTRY AddExtensionCommand(
FA_TAG Tag,
[in] PCSTR Extension
);
Параметры
Tag
Значение в перечислении FA_TAG. Тип данных, связанный с этим тегом, должен быть DEBUG_FA_ENTRY_EXTENSION_CMD или DEBUG_FA_ENTRY_ANSI_STRING.
[in] Extension
Указатель на строку ANSI, завершающую значение NULL, которая является командой отладчика. Примером команды отладчика является "!analyze -v".
Возвращаемое значение
Если этот метод выполнен успешно, он возвращает указатель на новую FA_ENTRY структуру. Если этот метод завершается ошибкой, возвращается NULL.
Замечания
Этот метод задает элемент DataSize новой структуры FA_ENTRY длину в байтах команды расширения, включая NULL конца.
Каждый тег связан с одним из типов данных в перечислении FA_ENTRY_TYPE. Чтобы определить тип данных, связанный с тегом, вызовите метод GetType интерфейса IDebugFAEntryTags.
Чтобы получить указатель на интерфейс IDebugFAEntryTags, вызовите метод GetDebugFATagControl интерфейса IDebugFailureAnalysis2.
[sperry] Примечание к самообслуживанию. Если указанный тег еще не имеет его типа данных, этот метод задает и исправляет тип данных для тега. Это будет так, если объект DebugFailureAnalysis еще не имеет записи FA с этим тегом. Но если объект DebugFailureAnalysis уже имеет запись FA с этим тегом, то тип данных тега исправлен. Этот метод создает новую запись FA с тем же тегом. Теперь, если тип данных, который мы пытаемся записать в новый буфер данных, не соответствует типу данных, который был исправлен для этого тега. Затем мы видим, правильно ли выполнять приведение из фиксированного типа данных к типу, который мы хотим записать.
Это нормально приведение среди ULONG64, POINTER и InstructionOffset. Это нормально приведение между String и ExtensionCommand. ULONG может быть только ULONG. STRING могут быть только STRING.
Вопрос. Когда тип данных тега получает исправление? Это происходит при создании первой записи FA с этим тегом?
typedef struct _FA_TAG_PROPS
{
FA_TAG Tag;
FA_ENTRY_TYPE Type;
ULONG Fixed:1;
ULONG NameAllocated:1;
ULONG DescriptionAllocated:1;
PCSTR Name;
PCSTR Description;
AnalysisPlugIn *Plugin;
} FA_TAG_PROPS, *PFA_TAG_PROPS;
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Настольный |
| заголовка | extsfns.h |
См. также
написание подключаемого модуля расширения анализа для расширения !analysis