Freigeben über


IDebugSymbols::GetNearNameByOffset-Methode (dbgeng.h)

Die GetNearNameByOffset-Methode gibt den Namen eines Symbols zurück, das sich in der Nähe des angegebenen Speicherorts befindet.

Syntax

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

Parameter

[in] Offset

Gibt die Position des Symbols im virtuellen Adressraum des Ziels an, aus dem das gewünschte Symbol bestimmt wird.

[in] Delta

Gibt die Beziehung zwischen dem gewünschten Symbol und dem Symbol an, das sich unter Offset befindet. Bei positivem Wert gibt die Engine das Symbol Delta-Symbole nach dem Symbol zurück, das sich in Offset befindet. Wenn der Wert negativ ist, gibt die Engine das Symbol delta-Symbole vor dem Symbol zurück, das sich unter Offset befindet.

[out, optional] NameBuffer

Empfängt den Namen des Symbols. Der Name wird durch das Modul qualifiziert, zu dem das Symbol gehört (z. B. mymodule!Standard). Wenn NameBufferNULL ist, werden diese Informationen nicht zurückgegeben.

[in] NameBufferSize

Gibt die Größe des Puffers NameBuffer in Zeichen an. Diese Größe enthält den Leerraum für das "\0"-Endzeichen.

[out, optional] NameSize

Empfängt die Größe des Symbolnamens in Zeichen. Diese Größe enthält den Leerraum für das "\0"-Endzeichen. Wenn NameSizeNULL ist, werden diese Informationen nicht zurückgegeben.

[out, optional] Displacement

Empfängt die Differenz zwischen dem Wert von Offset und der Position im Speicheradressraum des Ziels des Symbols. Wenn die VerschiebungNULL ist, werden diese Informationen nicht zurückgegeben.

Rückgabewert

Diese Methode gibt möglicherweise auch andere Fehlerwerte zurück. Weitere Informationen finden Sie unter Rückgabewerte .

Rückgabecode BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
S_FALSE
Die Methode war erfolgreich. Der Puffer war jedoch nicht groß genug, um den Namen des Symbols zu enthalten, sodass er abgeschnitten wurde.
E_NOINTERFACE
Es wurde kein Symbol gefunden, das den Spezifikationen von Offset und Delta entspricht.

Hinweise

Durch Erhöhen oder Verringern des Werts von Delta können diese Methoden verwendet werden, um die Symbole des Ziels ab einer bestimmten Position zu durchlaufen.

Wenn Delta null ist, verhalten sich diese Methoden genauso wie GetNameByOffset.

Weitere Informationen zu Symbolen und Symbolnamen finden Sie unter Symbole.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h (dbgeng.h einschließen)

Weitere Informationen

GetNameByOffset

GetOffsetByName

IDebugSymbols

IDebugSymbols2

IDebugSymbols3