Compartilhar via


Classe ExtExtension (engextcpp.hpp)

A classe ExtExtension é a classe base da classe C++ que representa a biblioteca de extensões EngExtCpp.

A classe ExtExtension inclui os seguintes métodos, que podem ser usados pela subclasse:

Initialize

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
Saída
Avisar
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
A classe ExtExtension também contém os seguintes campos que podem ser usados pela subclasse:
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;
};

Métodos

A classe ExtExtension tem esses métodos.

 
ExtExtension::GetArgStr

O método GetArgStr retorna um argumento de cadeia de caracteres nomeado da linha de comando usada para invocar o comando de extensão atual.
ExtExtension::GetArgU64

O método GetArgU64 retorna o valor de um argumento de expressão nomeada da linha de comando usada para invocar o comando de extensão atual.
ExtExtension::GetNumUnnamedArgs

O método GetNumUnnamedArgs retorna o número de argumentos não nomeados na linha de comando usada para invocar o comando de extensão atual.
ExtExtension::GetRawArgStr

O método GetRawArgStr retorna uma cadeia de caracteres que representa os argumentos passados para o comando de extensão.
ExtExtension::GetUnnamedArgStr

O método GetUnnamedArgStr retorna um argumento de cadeia de caracteres sem nome da linha de comando usada para invocar o comando de extensão atual.
ExtExtension::GetUnnamedArgU64

O método GetUnnamedArgU64 retorna o valor de um argumento de expressão sem nome da linha de comando usada para invocar o comando de extensão atual.
ExtExtension::HasArg

O método HasArg indica se um argumento nomeado especificado está presente na linha de comando usada para invocar o comando de extensão atual.
ExtExtension::HasCharArg

O método HasCharArg indica se um argumento nomeado de caractere único especificado está presente na linha de comando usada para invocar o comando de extensão atual.
ExtExtension::HasUnnamedArg

O método HasUnnamedArg indica se um argumento não nomeado especificado está presente na linha de comando usada para invocar o comando de extensão atual.
ExtExtension::Initialize

O método Initialize é chamado pelo mecanismo para inicializar uma biblioteca de extensões EngExtCpp depois de carregá-la.
ExtExtension::OnSessionAccessible

O método OnSessionAccessible é chamado pelo mecanismo para informar a biblioteca de extensões engExtCpp quando a sessão de depuração se torna acessível.
ExtExtension::OnSessionActive

O método OnSessionActive é chamado pelo mecanismo para informar a biblioteca de extensões EngExtCpp quando a sessão de depuração se torna ativa.
ExtExtension::OnSessionInaccessible

O método OnSessionInaccessible é chamado pelo mecanismo para informar a biblioteca de extensões EngExtCpp quando a sessão de depuração se torna inacessível.
ExtExtension::OnSessionInactive

O método OnSessionInactive é chamado pelo mecanismo para informar a biblioteca de extensões EngExtCpp quando a sessão de depuração se torna inativa.
ExtExtension::SetArg

O método SetArg define um argumento nomeado para o comando de extensão atual.
ExtExtension::SetArgStr

O método SetArgStr define um argumento de cadeia de caracteres nomeado para o comando de expressão atual.
ExtExtension::SetArgU64

O método SetArgU64 define um argumento de expressão nomeada para o comando de expressão atual.
ExtExtension::SetUnnamedArg

O método SetUnnamedArg define um argumento sem nome para o comando de extensão atual.
ExtExtension::SetUnnamedArgStr

O método SetUnnamedArgStr define um argumento de cadeia de caracteres sem nome para o comando de extensão atual.
ExtExtension::SetUnnamedArgU64

O método SetUnnamedArgU64 define o valor de um argumento de expressão sem nome para o comando de extensão atual.
ExtExtension::Uninitialize

O método Uninitialize é chamado pelo mecanismo para não inicializar uma biblioteca de extensão EngExtCpp antes de ser descarregada.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho engextcpp.hpp