次の方法で共有


IDebugSymbols3::GetNearNameByOffsetWide メソッド (dbgeng.h)

GetNearNameByOffsetWide メソッドは、指定した場所の近くにあるシンボルの名前を返します。

構文

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

パラメーター

[in] Offset

目的のシンボルが決定されるシンボルのターゲットの仮想アドレス空間内の場所を指定します。

[in] Delta

目的のシンボルと、オフセット にあるシンボル関係を指定します。 正の場合、エンジンは、オフセットにあるシンボルの後にデルタ シンボル シンボルを返します。 負の値の場合、エンジンはデルタ シンボル シンボルの前にあるシンボル Offsetを返します。

[out, optional] NameBuffer

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

[in] NameBufferSize

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

[out, optional] NameSize

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

[out, optional] Displacement

オフセット の値と、シンボルのターゲットのメモリ アドレス空間内の場所の違いを受け取ります。 ディスプレイスメント が NULL 場合、この情報は返されません。

戻り値

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

リターン コード 形容
S_OK
メソッドが成功しました。
S_FALSE
メソッドが成功しました。 ただし、バッファーはシンボルの名前を保持するのに十分な大きさではないため、切り捨てられました。
E_NOINTERFACE
オフセットデルタ の仕様に一致するシンボルが見つかりませんでした。

備考

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

デルタ ゼロの場合、これらのメソッドは GetNameByOffset と同じように動作します。

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

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー dbgeng.h (Dbgeng.h を含む)

関連項目

GetNameByOffset

GetOffsetByName

IDebugSymbols3