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 にあるシンボルの間のリレーションシップを指定 します。 正の場合、エンジンは Offset にあるシンボルの後に Delta シンボルであるシンボルを返 します。 負の場合、エンジンは Offset にあるシンボルの前に Delta シンボルであるシンボルを返 します

[out, optional] NameBuffer

シンボルの名前を受け取ります。 名前は、シンボルが属するモジュールによって修飾されます (たとえば、mymodule!メイン)。 NameBufferNULL の場合、この情報は返されません。

[in] NameBufferSize

バッファー NameBuffer のサイズを文字数で指定します。 このサイズには、'\0' 終端文字のスペースが含まれます。

[out, optional] NameSize

シンボルの名前のサイズを文字数で受け取ります。 このサイズには、'\0' 終端文字のスペースが含まれます。 NameSizeNULL の場合、この情報は返されません。

[out, optional] Displacement

Offset の値と、シンボルのターゲットのメモリ アドレス空間内の位置の差を受け取ります。 DisplacementNULL の場合、この情報は返されません。

戻り値

このメソッドは、他のエラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。

リターン コード 説明
S_OK
メソッドは正常に実行されました。
S_FALSE
メソッドは正常に実行されました。 ただし、バッファーはシンボルの名前を保持するのに十分な大きさではないため、切り捨てられました。
E_NOINTERFACE
OffsetDelta の仕様に一致するシンボルが見つかりませんでした。

注釈

Delta の値を増減することで、これらのメソッドを使用して、特定の場所から始まるターゲットのシンボルを反復処理できます。

Delta が 0 の場合、これらのメソッドは GetNameByOffset と同じように動作します。

シンボルとシンボル名の詳細については、「 シンボル」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h を含む)

こちらもご覧ください

GetNameByOffset

GetOffsetByName

IDebugSymbols

IDebugSymbols2

IDebugSymbols3