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


Класс ExtExtension (engextcpp.hpp)

Класс ExtExtension является базовым классом для класса C++, который представляет библиотеку расширений EngExtCpp.

Класс ExtExtension включает следующие методы, которые могут использоваться подклассом :

Initialize

Неинициализировать

OnSessionActive

OnSessionInactive

OnSessionAccessible

OnSessionInaccessible

IsUserMode
IsKernelMode
IsLiveLocalUser
IsMachine32
IsCurMachine32
IsMachine64
IsCurMachine64
Is32On64
CanQueryVirtual
HasFullMemBasic
IsExtensionRemote
AreOutputCallbacksDmlAware
RequireUserMode
RequireKernelMode

GetNumUnnamedArgs

GetUnnamedArgStr

GetUnnamedArgU64

HasUnnamedArg

GetArgStr

GetArgU64

HasArg

HasCharArg

SetUnnamedArg

SetUnnamedArgStr

SetUnnamedArgU64

SetArg

SetArgStr

SetArgU64

GetRawArgStr

GetRawArgCopy
Out
Предупредить
Err
Команда
Dml
DmlWarn
DmlErr
DmlVerb
DmlCmdLink
DmlCmdExec
RefreshOutputCallbackFlags
WrapLine
OutWrapStr
OutWrapVa
OutWrap
DemandWrap
AllowWrap
TestWrap
RequestCircleString
CopyCircleString
PrintCircleStringVa
PrintCircleString
SetAppendBuffer
AppendBufferString
AppendStringVa
AppendString
IsAppendStart
SetCallStatus
GetCachedSymbolTypeId
GetCachedFieldOffset
GetCachedFieldOffset
AddCachedSymbolInfo
GetExpr64
GetExprU64
GetExprS64
ThrowCommandHelp
ThrowInterrupt
ThrowOutOfMemory
ThrowContinueSearch
ThrowReloadExtension
ThrowInvalidArg
ThrowRemote
ThrowStatus
ThrowLastError
Класс ExtExtension также содержит следующие поля, которые могут использоваться подклассом :
class ExtExtension
{
public:
    USHORT  m_ExtMajorVersion;
    USHORT  m_ExtMinorVersion;
    ULONG  m_ExtInitFlags;
    ExtKnownStruct *  m_KnownStructs;
    ExtProvidedValue *  m_ProvidedValues;
    ExtCheckedPointer<IDebugAdvanced>  m_Advanced;
    ExtCheckedPointer<IDebugClient>  m_Client;
    ExtCheckedPointer<IDebugControl>  m_Control;
    ExtCheckedPointer<IDebugDataSpaces>  m_Data;
    ExtCheckedPointer<IDebugRegisters>  m_Registers;
    ExtCheckedPointer<IDebugSymbols>  m_Symbols;
    ExtCheckedPointer<IDebugSystemObjects>  m_System;
    ExtCheckedPointer<IDebugAdvanced2>  m_Advanced2;
    ExtCheckedPointer<IDebugAdvanced3>  m_Advanced3;
    ExtCheckedPointer<IDebugClient2>  m_Client2;
    ExtCheckedPointer<IDebugClient3>  m_Client3;
    ExtCheckedPointer<IDebugClient4>  m_Client4;
    ExtCheckedPointer<IDebugClient5>  m_Client5;
    ExtCheckedPointer<IDebugControl2>  m_Control2;
    ExtCheckedPointer<IDebugControl3>  m_Control3;
    ExtCheckedPointer<IDebugControl4>  m_Control4;
    ExtCheckedPointer<IDebugDataSpaces2>  m_Data2;
    ExtCheckedPointer<IDebugDataSpaces3>  m_Data3;
    ExtCheckedPointer<IDebugDataSpaces4>  m_Data4;
    ExtCheckedPointer<IDebugRegisters2>  m_Registers2;
    ExtCheckedPointer<IDebugSymbols2>  m_Symbols2;
    ExtCheckedPointer<IDebugSymbols3>  m_Symbols3;
    ExtCheckedPointer<IDebugSystemObjects2>  m_System2;
    ExtCheckedPointer<IDebugSystemObjects3>  m_System3;
    ExtCheckedPointer<IDebugSystemObjects4>  m_System4;
    ULONG  m_OutputWidth;
    ULONG  m_ActualMachine;
    ULONG  m_Machine;
    ULONG  m_PageSize;
    ULONG  m_PtrSize;
    ULONG  m_NumProcessors;
    ULONG64  m_OffsetMask;
    ULONG  m_DebuggeeClass;
    ULONG  m_DebuggeeQual;
    ULONG  m_DumpFormatFlags;
    bool  m_IsRemote;
    bool  m_OutCallbacksDmlAware;
    ULONG  m_OutMask;
    ULONG  m_CurChar;
    ULONG  m_LeftIndent;
    bool  m_AllowWrap;
    bool  m_TestWrap;
    ULONG  m_TestWrapChars;
    PSTR  m_AppendBuffer;
    ULONG  m_AppendBufferChars;
    PSTR  m_AppendAt;
};

Методы

Класс ExtExtension содержит следующие методы.

 
ExtExtension::GetArgStr

Метод GetArgStr возвращает именованный строковый аргумент из командной строки, используемой для вызова текущей команды расширения.
ExtExtension::GetArgU64

Метод GetArgU64 возвращает значение аргумента именованного выражения из командной строки, используемой для вызова текущей команды расширения.
ExtExtension::GetNumUnnamedArgs

Метод GetNumUnnamedArgs возвращает количество неименованных аргументов в командной строке, используемой для вызова текущей команды расширения.
ExtExtension::GetRawArgStr

Метод GetRawArgStr возвращает строку, представляющую аргументы, переданные команде расширения.
ExtExtension::GetUnnamedArgStr

Метод GetUnnamedArgStr возвращает неименованный строковый аргумент из командной строки, используемой для вызова текущей команды расширения.
ExtExtension::GetUnnamedArgU64

Метод GetUnnamedArgU64 возвращает значение аргумента неименованного выражения из командной строки, используемой для вызова текущей команды расширения.
ExtExtension::HasArg

Метод HasArg указывает, присутствует ли указанный именованный аргумент в командной строке, используемой для вызова текущей команды расширения.
ExtExtension::HasCharArg

Метод HasCharArg указывает, присутствует ли указанный односимвный именованный аргумент в командной строке, используемой для вызова текущей команды расширения.
ExtExtension::HasUnnamedArg

Метод HasUnnamedArg указывает, присутствует ли указанный неименованный аргумент в командной строке, используемой для вызова текущей команды расширения.
ExtExtension::Initialize

Метод Initialize вызывается подсистемой для инициализации библиотеки расширений EngExtCpp после ее загрузки.
ExtExtension::OnSessionAccessible

Метод OnSessionAccessible вызывается подсистемой для информирования библиотеки расширений EngExtCpp, когда сеанс отладки становится доступным.
ExtExtension::OnSessionActive

Метод OnSessionActive вызывается подсистемой для информирования библиотеки расширений EngExtCpp, когда сеанс отладки становится активным.
ExtExtension::OnSessionInaccessible

Метод OnSessionInaccessible вызывается подсистемой для информирования библиотеки расширений EngExtCpp, когда сеанс отладки становится недоступным.
ExtExtension::OnSessionInactive

Обработчик вызывает метод OnSessionInactive, чтобы сообщить библиотеке расширений EngExtCpp, когда сеанс отладки становится неактивным.
ExtExtension::SetArg

Метод SetArg задает именованный аргумент для текущей команды расширения.
ExtExtension::SetArgStr

Метод SetArgStr задает именованный строковый аргумент для текущей команды выражения.
ExtExtension::SetArgU64

Метод SetArgU64 задает именованный аргумент выражения для текущей команды выражения.
ExtExtension::SetUnnamedArg

Метод SetUnnamedArg задает неименованный аргумент для текущей команды расширения.
ExtExtension::SetUnnamedArgStr

Метод SetUnnamedArgStr задает неименованный строковый аргумент для текущей команды расширения.
ExtExtension::SetUnnamedArgU64

Метод SetUnnamedArgU64 задает значение аргумента неименованного выражения для текущей команды расширения.
ExtExtension::Uninitialize

Метод Uninitialize вызывается подсистемой для неинициализации библиотеки расширений EngExtCpp перед ее выгрузкой.

Требования

Требование Значение
Целевая платформа Windows
Header engextcpp.hpp