ExtExtension 类 (engextcpp.hpp)

ExtExtension 类是表示 EngExtCpp 扩展库的 C++ 类的基类。

ExtExtension 类包括以下方法,子类可以使用这些方法:

初始化

取消初始化

OnSessionActive

OnSession 非活动

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

在卸载 EngExtCpp 扩展库之前,引擎调用 Uninitialize 方法以取消初始化 EngExtCpp 扩展库。

要求

要求 价值
目标平台 窗户
标头 engextcpp.hpp