다음을 통해 공유


ExtExtension::* ExtKnownStructMethod 콜백 함수(engextcpp.hpp)

ExtKnownStructMethod 콜백 메서드는 엔진에서 한 줄에 출력할 구조체의 instance 형식을 지정하기 위해 호출됩니다.

구문

ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;

void Extextension::*Extknownstructmethod(
  [in] PCSTR TypeName,
  [in] ULONG Flags,
  [in] ULONG64 Offset
)
{...}

매개 변수

[in] TypeName

Offset이 가리키는 구조체 형식의 이름을 지정합니다. 이 콜백 메서드를 등록하는 데 사용되는 ExtKnownStruct 구조체의 TypeName 필드와 동일합니다.

[in] Flags

출력의 서식을 지정하는 방법을 나타내는 비트 플래그를 지정합니다. 현재 이 값은 DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT 설정됩니다. 이는 출력이 한 줄의 출력에 맞게 형식이 지정되어야 했음을 나타냅니다.

[in] Offset

출력을 위해 서식을 지정할 구조체의 instance 대상 메모리의 위치를 지정합니다.

반환 값

없음

설명

디버거 엔진은 출력이 한 줄로 인쇄할 수 있도록 형식이 지정되어야 하므로 형식이 지정된 구조체에 줄 바꿈이 있을 것으로 예상하지 않습니다.

이 메서드의 형식이 지정된 출력은 ExtExtension의 멤버인 버퍼 m_AppendBuffer 배치해야 합니다.

이 콜백 메서드의 인스턴스는 Initialize 메서드의 배열 m_KnownStructs(ExtExtension의 멤버)에 배치되는 ExtKnownStruct 구조체의 instance 사용하여 엔진에 등록됩니다. ExtKnownStruct 구조체는 이 메서드 형식의 구조체 형식 이름도 지정합니다.

디버거 엔진이 알려진 구조 메서드를 호출하면 호출을 try/except 블록으로 래핑합니다. 이렇게 하면 확장 코드의 일부 버그 유형으로부터 엔진이 보호됩니다. 하지만 확장 호출은 엔진과 동일한 스레드에서 실행되므로 여전히 작동이 중단될 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 engextcpp.hpp(Engextcpp.hpp 포함)

추가 정보

ExtExtension

ExtKnownStruct

초기화