Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The ExtExtension class is the base class for the C++ class that represents the EngExtCpp extension library.
The ExtExtension class includes the following methods, which can be used by the subclass:
- IsUserMode
- IsKernelMode
- IsLiveLocalUser
- IsMachine32
- IsCurMachine32
- IsMachine64
- IsCurMachine64
- Is32On64
- CanQueryVirtual
- HasFullMemBasic
- IsExtensionRemote
- AreOutputCallbacksDmlAware
- RequireUserMode
- RequireKernelMode
- GetRawArgCopy
- Out
- Warn
- Err
- Verb
- 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;
};
Methods
The ExtExtension class has these methods.
ExtExtension::GetArgStr The GetArgStr method returns a named string argument from the command line used to invoke the current extension command. |
ExtExtension::GetArgU64 The GetArgU64 method returns the value of a named expression argument from the command line used to invoke the current extension command. |
ExtExtension::GetNumUnnamedArgs The GetNumUnnamedArgs method returns the number of unnamed arguments in the command line used to invoke the current extension command. |
ExtExtension::GetRawArgStr The GetRawArgStr method returns a string that represents the arguments passed to the extension command. |
ExtExtension::GetUnnamedArgStr The GetUnnamedArgStr method returns an unnamed string argument from the command line used to invoke the current extension command. |
ExtExtension::GetUnnamedArgU64 The GetUnnamedArgU64 method returns the value of an unnamed expression argument from the command line used to invoke the current extension command. |
ExtExtension::HasArg The HasArg method indicates whether a specified named argument is present in the command line used to invoke the current extension command. |
ExtExtension::HasCharArg The HasCharArg method indicates whether a specified single-character named argument is present in the command line used to invoke the current extension command. |
ExtExtension::HasUnnamedArg The HasUnnamedArg method indicates whether a specified unnamed argument is present in the command line used to invoke the current extension command. |
ExtExtension::Initialize The Initialize method is called by the engine to initialize an EngExtCpp extension library after loading it. |
ExtExtension::OnSessionAccessible The OnSessionAccessible method is called by the engine to inform the EngExtCpp extension library when the debugging session becomes accessible. |
ExtExtension::OnSessionActive The OnSessionActive method is called by the engine to inform the EngExtCpp extension library when the debugging session becomes active. |
ExtExtension::OnSessionInaccessible The OnSessionInaccessible method is called by the engine to inform the EngExtCpp extension library when the debugging session becomes inaccessible. |
ExtExtension::OnSessionInactive The OnSessionInactive method is called by the engine to inform the EngExtCpp extension library when the debugging session becomes inactive. |
ExtExtension::SetArg The SetArg method sets a named argument for the current extension command. |
ExtExtension::SetArgStr The SetArgStr method sets a named string argument for the current expression command. |
ExtExtension::SetArgU64 The SetArgU64 method sets a named expression argument for the current expression command. |
ExtExtension::SetUnnamedArg The SetUnnamedArg method sets an unnamed argument for the current extension command. |
ExtExtension::SetUnnamedArgStr The SetUnnamedArgStr method sets an unnamed string argument for the current extension command. |
ExtExtension::SetUnnamedArgU64 The SetUnnamedArgU64 method sets the value of an unnamed expression argument for the current extension command. |
ExtExtension::Uninitialize The Uninitialize method is called by the engine to uninitialize an EngExtCpp extension library before it is unloaded. |
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | engextcpp.hpp |