Freigeben über


IDebugAdvanced3::GetSymbolInformation-Methode (dbgeng.h)

Die GetSymbolInformation-Methode gibt angegebene Informationen zu einem Symbol zurück.

Syntax

HRESULT GetSymbolInformation(
  [in]            ULONG   Which,
  [in]            ULONG64 Arg64,
  [in]            ULONG   Arg32,
  [out, optional] PVOID   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  InfoSize,
  [out, optional] PSTR    StringBuffer,
  [in]            ULONG   StringBufferSize,
  [out, optional] PULONG  StringSize
);

Parameter

[in] Which

Gibt den zurückzugebenden Informationsteil an. Dies kann einen der Werte in der folgenden Tabelle annehmen.

Wert Zurückgegebene Informationen
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE Gibt den Namen der Quellcodedatei und die Zeilennummer für einen angegebenen Haltepunkt zurück. Die Zeilennummer wird als ULONG an Buffer zurückgegeben. Der Dateiname wird an StringBuffer zurückgegeben.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 Gibt eine IMAGEHLP_MODULEW64-Struktur zurück, die ein angegebenes Modul beschreibt. Ausführliche Informationen zu dieser Struktur finden Sie im Thema IMAGEHLP_MODULE64 in der Dokumentation zur Debughilfebibliothek (dbghelp.chm).

Es wird keine Zeichenfolge zurückgegeben, und StringBuffer, StringBufferSize und StringSize müssen alle auf 0 festgelegt werden.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE Gibt den Unicode-Namen des Symbols zurück, das nach Speicherort im Arbeitsspeicher und PDB-Tagtyp angegeben ist. Der Name wird an Buffer zurückgegeben. StringBuffer wird nicht verwendet.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS Gibt eine Liste von Symbolnamen und Offsets für die Symbole im angegebenen Modul mit dem angegebenen PDB-Tagtyp zurück. Die Offsets werden als Array von ULONG-Werten an Buffer zurückgegeben. Die Namen werden in der gleichen Reihenfolge wie die Offsets für StringBuffer zurückgegeben. Einige Namen enthalten möglicherweise eingebettete Nullen, da Anmerkungen mehrteilige Namen haben können. Daher wird jeder Name mit zwei NULL-Zeichen beendet.

[in] Arg64

Gibt ein 64-Bit-Argument an. Dieser Parameter weist abhängig vom Wert von Which die folgenden Interpretationen auf:

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

Ignoriert.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Die Basisadresse des Moduls, dessen Beschreibung angefordert wird.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Gibt die Adresse des Symbols im Speicher des Ziels an, dessen Name angefordert wird.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Gibt das Modul an, dessen Symbole angefordert werden. Arg64 ist ein Speicherort innerhalb der Speicherbelegung des Moduls.

[in] Arg32

Gibt ein 32-Bit-Argument an. Dieser Parameter weist abhängig vom Wert von Which die folgenden Interpretationen auf:

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

Die Engine-Breakpoint-ID des gewünschten Haltepunkts.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Auf NULL festlegen.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Die PDB-Klassifizierung des Symbols. Arg32 muss einer der Werte in der symTagEnum-Enumeration sein, die in Dbghelp.h definiert ist. Weitere Informationen finden Sie in der PDB-Dokumentation.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Die PDB-Klassifizierung des Symbols. Arg32 muss einer der Werte in der symTagEnum-Enumeration sein, die in Dbghelp.h definiert ist. Weitere Informationen finden Sie in der PDB-Dokumentation.

[out, optional] Buffer

Empfängt die angeforderten Symbolinformationen. Der Typ der zurückgegebenen Daten hängt vom Wert von Which ab. Wenn BufferNULL ist, werden diese Informationen nicht zurückgegeben.

[in] BufferSize

Gibt die Größe des Pufferpuffers in Bytes an.

[out, optional] InfoSize

Wenn diese Methode S_OK zurückgibt, empfängt InfoSize die Größe der an Buffer zurückgegebenen Symbolinformationen in Bytes. Wenn diese Methode S_FALSE zurückgibt, ist der bereitgestellte Puffer nicht groß genug, und InfoSize erhält die erforderliche Puffergröße. Wenn InfoSizeNULL ist, werden diese Informationen nicht zurückgegeben.

[out, optional] StringBuffer

Empfängt die angeforderte Zeichenfolge. Die Interpretation dieser Zeichenfolge hängt vom Wert von Which ab. Wenn StringBufferNULL ist, werden diese Informationen nicht zurückgegeben.

[in] StringBufferSize

Gibt die Größe des Zeichenfolgenpuffers StringBuffer in Zeichen an.

[out, optional] StringSize

Empfängt die Größe der an StringBuffer zurückgegebenen Zeichenfolge in Zeichen. Wenn StringSizeNULL ist, werden diese Informationen nicht zurückgegeben.

Rückgabewert

Diese Methode gibt möglicherweise auch 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. Die Informationen passen jedoch nicht in den Pufferpuffer , oder die Zeichenfolge passte nicht in den Puffer StringBuffer, sodass die Informationen oder der Name abgeschnitten wurden.

Anforderungen

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