Condividi tramite


Classe ExtExtension (engextcpp.hpp)

La classe ExtExtension è la classe di base per la classe C++ che rappresenta la libreria di estensioni EngExtCpp.

La classe ExtExtension include i metodi seguenti, che possono essere usati dalla sottoclasse:

inizializzare

Uninitialize

OnSessionActive

OnSessionInactive

OnSessionAccessible

OnSessionInaccessibile

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
Avvisa
err
verbo
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
La classe ExtExtension contiene anche i campi seguenti che possono essere usati dalla sottoclasse:
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;
};

Metodi

La classe ExtExtension include questi metodi.

 
ExtExtension::GetArgStr

Il metodo GetArgStr restituisce un argomento stringa denominato dalla riga di comando usato per richiamare il comando di estensione corrente.
ExtExtension::GetArgU64

Il metodo GetArgU64 restituisce il valore di un argomento espressione denominata dalla riga di comando usata per richiamare il comando di estensione corrente.
ExtExtension::GetNumUnnamedArgs

Il metodo GetNumUnnamedArgs restituisce il numero di argomenti senza nome nella riga di comando utilizzata per richiamare il comando di estensione corrente.
ExtExtension::GetRawArgStr

Il metodo GetRawArgStr restituisce una stringa che rappresenta gli argomenti passati al comando di estensione.
ExtExtension::GetUnnamedArgStr

Il metodo GetUnnamedArgStr restituisce un argomento stringa senza nome dalla riga di comando usata per richiamare il comando di estensione corrente.
ExtExtension::GetUnnamedArgU64

Il metodo GetUnnamedArgU64 restituisce il valore di un argomento di espressione senza nome dalla riga di comando usata per richiamare il comando di estensione corrente.
ExtExtension::HasArg

Il metodo HasArg indica se nella riga di comando è presente un argomento denominato specificato per richiamare il comando di estensione corrente.
ExtExtension::HasCharArg

Il metodo HasCharArg indica se nella riga di comando è presente un argomento denominato a carattere singolo specificato per richiamare il comando di estensione corrente.
ExtExtension::HasUnnamedArg

Il metodo HasUnnamedArg indica se nella riga di comando è presente un argomento senza nome specificato per richiamare il comando di estensione corrente.
ExtExtension::Initialize

Il metodo Initialize viene chiamato dal motore per inizializzare una libreria di estensioni EngExtCpp dopo il caricamento.
ExtExtension::OnSessionAccessible

Il metodo OnSessionAccessible viene chiamato dal motore per informare la libreria di estensioni EngExtCpp quando la sessione di debug diventa accessibile.
ExtExtension::OnSessionActive

Il metodo OnSessionActive viene chiamato dal motore per informare la libreria di estensioni EngExtCpp quando la sessione di debug diventa attiva.
ExtExtension::OnSessionInaccessible

Il metodo OnSessionInaccessible viene chiamato dal motore per informare la libreria di estensioni EngExtCpp quando la sessione di debug diventa inaccessibile.
ExtExtension::OnSessionInactive

Il metodo OnSessionInactive viene chiamato dal motore per informare la libreria di estensioni EngExtCpp quando la sessione di debug diventa inattiva.
ExtExtension::SetArg

Il metodo SetArg imposta un argomento denominato per il comando di estensione corrente.
ExtExtension::SetArgStr

Il metodo SetArgStr imposta un argomento stringa denominato per il comando di espressione corrente.
ExtExtension::SetArgU64

Il metodo SetArgU64 imposta un argomento espressione denominata per il comando di espressione corrente.
ExtExtension::SetUnnamedArg

Il metodo SetUnnamedArg imposta un argomento senza nome per il comando di estensione corrente.
ExtExtension::SetUnnamedArgStr

Il metodo SetUnnamedArgStr imposta un argomento stringa senza nome per il comando di estensione corrente.
ExtExtension::SetUnnamedArgU64

Il metodo SetUnnamedArgU64 imposta il valore di un argomento di espressione senza nome per il comando di estensione corrente.
ExtExtension::Uninitialize

Il metodo Uninitialize viene chiamato dal motore per annullare l'inizializzazione di una libreria di estensioni EngExtCpp prima che venga scaricata.

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
intestazione engextcpp.hpp