다음을 통해 공유


ExtExtension 클래스(engextcpp.hpp)

ExtExtension 클래스는 EngExtCpp 확장 라이브러리를 나타내는 C++ 클래스의 기본 클래스입니다.

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
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
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

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