共用方式為


ExtExtension 類別 (engextcpp.hpp)

ExtExtension 類別是 C++ 類別的基類,代表 EngExtCpp 擴充連結庫。

ExtExtension 類別包含下列方法,可供子類別使用:

初始 化

Uninitialize

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
警告
犯 錯
動詞命令
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

初始化方法是由引擎呼叫,以在載入 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 方法。

規格需求

需求
目標平台 Windows
標頭 engextcpp.hpp