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


Класс ExtExtension (engextcpp.hpp)

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

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

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

Юнинитиализация

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
Warn
Эрр
глагола
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 перед выгрузкой.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка engextcpp.hpp