다음을 통해 공유


IDebugSymbols::GetNearNameByOffset 메서드(dbgeng.h)

GetNearNameByOffset 메서드는 지정된 위치 근처에 있는 기호의 이름을 반환합니다.

구문

HRESULT GetNearNameByOffset(
  [in]            ULONG64  Offset,
  [in]            LONG     Delta,
  [out, optional] PSTR     NameBuffer,
  [in]            ULONG    NameBufferSize,
  [out, optional] PULONG   NameSize,
  [out, optional] PULONG64 Displacement
);

매개 변수

[in] Offset

원하는 기호가 결정되는 기호의 대상 가상 주소 공간에 있는 위치를 지정합니다.

[in] Delta

원하는 기호와 Offset에 있는 기호 간의 관계를 지정합니다. 양수이면 엔진은 오프셋에 있는 기호 다음에 델타 기호인 기호를 반환합니다. 음수이면 엔진은 오프셋에 있는 기호 앞에 델타 기호인 기호를 반환합니다.

[out, optional] NameBuffer

기호의 이름을 받습니다. 이름은 기호가 속한 모듈(예: mymodule!기본)에 의해 정규화됩니다. NameBufferNULL이면 이 정보가 반환되지 않습니다.

[in] NameBufferSize

버퍼 NameBuffer의 문자 크기를 지정합니다. 이 크기에는 '\0' 종료 문자의 공간이 포함됩니다.

[out, optional] NameSize

기호 이름의 문자로 크기를 받습니다. 이 크기에는 '\0' 종료 문자의 공간이 포함됩니다. NameSizeNULL이면 이 정보가 반환되지 않습니다.

[out, optional] Displacement

Offset 값과 기호의 대상 메모리 주소 공간에 있는 위치의 차이를 받습니다. DisplacementNULL이면 이 정보가 반환되지 않습니다.

반환 값

이 메서드는 다른 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요.

반환 코드 Description
S_OK
메서드를 성공적으로 수행했습니다.
S_FALSE
메서드를 성공적으로 수행했습니다. 그러나 버퍼가 기호의 이름을 저장할 만큼 크지 않아 잘렸습니다.
E_NOINTERFACE
오프셋델타의 사양과 일치하는 기호를 찾을 수 없습니다.

설명

Delta 값을 늘리거나 줄이면 이러한 메서드를 사용하여 특정 위치에서 시작하는 대상의 기호를 반복할 수 있습니다.

Delta가 0이면 이러한 메서드는 GetNameByOffset과 동일한 방식으로 동작합니다.

기호 및 기호 이름에 대한 자세한 내용은 기호를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 dbgeng.h(Dbgeng.h 포함)

추가 정보

GetNameByOffset

GetOffsetByName

IDebugSymbols

IDebugSymbols2

IDebugSymbols3