IDebugAdvanced4::GetSymbolInformationWideEx-Methode (dbgeng.h)

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

Syntax

HRESULT GetSymbolInformationWideEx(
  [in]            ULONG           Which,
  [in]            ULONG64         Arg64,
  [in]            ULONG           Arg32,
  [out, optional] PVOID           Buffer,
  [in]            ULONG           BufferSize,
  [out, optional] PULONG          InfoSize,
  [out, optional] PWSTR           StringBuffer,
  [in]            ULONG           StringBufferSize,
  [out, optional] PULONG          StringSize,
  [out, optional] PSYMBOL_INFO_EX pInfoEx
);

Parameter

[in] Which

Gibt die zurückzugebende Information an. Dies kann einen der Werte in der folgenden Tabelle annehmen.

Wert Zurückgegebene Informationen
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE Gibt den Quellcodedateinamen 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 durch Speicherort im Arbeitsspeicher und PDB-Tagtyp angegeben wird. Der Name wird an Puffer 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 zurückgegeben wie die Offsets in StringBuffer. Einige Namen können eingebettete Nullen enthalten, da Anmerkungen mehrteilige Namen aufweisen können. Daher wird jeder Name mit zwei NULL-Zeichen beendet.

[in] Arg64

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

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 die folgenden Interpretationen auf, abhängig vom Wert von Which:

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 PufferNULL 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 angegebene Puffer nicht groß genug, und InfoSize empfängt 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.

[out, optional] pInfoEx

Ein Zeiger auf eine SYMBOL_INFO_EX-Struktur .

Rückgabewert

Diese Methode kann auch Fehlerwerte zurückgeben. 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 (einschließlich Dbgeng.h)