extExtension 类 (engextcpp.hpp)
ExtExtension 类是表示 EngExtCpp 扩展库的 C++ 类的基类。
ExtExtension 类包含以下方法,子类可以使用这些方法:
- IsUserMode
- IsKernelMode
- IsLiveLocalUser
- IsMachine32
- IsCurMachine32
- IsMachine64
- IsCurMachine64
- Is32On64
- CanQueryVirtual
- HasFullMemBasic
- IsExtensionRemote
- AreOutputCallbacksDmlAware
- RequireUserMode
- RequireKernelMode
- GetRawArgCopy
- Out
- 警告
- 犯 错
- 谓词
- 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
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 |
标头 | engextcpp.hpp |