SYMBOL_INFOW-Struktur (dbghelp.h)
Enthält Symbolinformationen.
Syntax
typedef struct _SYMBOL_INFOW {
ULONG SizeOfStruct;
ULONG TypeIndex;
ULONG64 Reserved[2];
ULONG Index;
ULONG Size;
ULONG64 ModBase;
ULONG Flags;
ULONG64 Value;
ULONG64 Address;
ULONG Register;
ULONG Scope;
ULONG Tag;
ULONG NameLen;
ULONG MaxNameLen;
WCHAR Name[1];
} SYMBOL_INFOW, *PSYMBOL_INFOW;
Member
SizeOfStruct
Die Größe der Struktur in Bytes. Dieser Member muss auf sizeof(SYMBOL_INFO)
festgelegt werden. Beachten Sie, dass die Gesamtgröße der Daten ist SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR)
. Der Grund für das Subtrahieren ist, dass das erste Zeichen im Namen in der Größe der Struktur berücksichtigt wird.
TypeIndex
Ein eindeutiger Wert, der die Typdaten identifiziert, die das Symbol beschreiben. Dieser Wert wird zwischen Sitzungen nicht beibehalten.
Reserved[2]
Dieser Member ist für die Systemverwendung reserviert.
Index
Der eindeutige Wert für das Symbol. Der einem Symbol zugeordnete Wert ist nicht garantiert bei jeder Ausführung des Prozesses gleich.
Bei PDB-Symbolen wird der Indexwert für ein Symbol erst generiert, wenn das Symbol aufgezählt oder durch eine Suche nach Name oder Adresse abgerufen wird. Die Indexwerte für alle CodeView- und COFF-Symbole werden generiert, wenn die Symbole geladen werden.
Size
Die Symbolgröße in Bytes. Dieser Wert ist nur dann sinnvoll, wenn die Modulsymbole aus einer PDB-Datei stammen. Andernfalls ist dieser Wert in der Regel null und sollte ignoriert werden.
ModBase
Die Basisadresse des Moduls, das das Symbol enthält.
Flags
Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln.
Wert | Bedeutung |
---|---|
|
Das Symbol ist ein CLR-Token. |
|
Das Symbol ist eine Konstante. |
|
Das Symbol stammt aus der Exporttabelle. |
|
Das Symbol ist eine Weiterleitung. |
|
Offsets sind framerelative. |
|
Das Symbol ist eine bekannte Funktion. |
|
Die Symboladresse ist ein Offset relativ zum Anfang des zwischengeschalteten Sprachblocks. Dies gilt nur für verwalteten Code. |
|
Das Symbol ist eine lokale Variable. |
|
Das Symbol sind verwaltete Metadaten. |
|
Das Symbol ist ein Parameter. |
|
Das Symbol ist ein Register. Das Register-Element wird verwendet. |
|
Offsets sind registerrelative. |
|
Das Symbol ist ein verwalteter Codeslot. |
|
Das Symbol ist ein Thunk. |
|
Das Symbol ist ein Offset in den TLS-Datenbereich. |
|
Das Value-Element wird verwendet. |
|
Das Symbol ist ein virtuelles Symbol, das von der SymAddSymbol-Funktion erstellt wird. |
Value
Der Wert einer Konstante.
Address
Die virtuelle Adresse des Anfangs des Symbols.
Register
Das Register.
Scope
Der DIA-Bereich. Weitere Informationen finden Sie im Debug Interface Access SDK in der Visual Studio-Dokumentation. (Diese Ressource ist in einigen Sprachen möglicherweise nicht verfügbar.
und Länder.)
Tag
Die PDB-Klassifizierung. Diese Werte werden in Dbghelp.h im SymTagEnum-Enumerationstyp definiert.
NameLen
Die Länge des Namens in Zeichen, ohne das NULL-Endzeichen.
MaxNameLen
Die Größe des Namenspuffers in Zeichen. Wenn dieser Member 0 ist, wird das Name-Element nicht verwendet.
Name[1]
Der Name des Symbols. Der Name kann nicht ausgebucht werden, wenn die Option SYMOPT_UNDNAME mit der SymSetOptions-Funktion verwendet wird.
Hinweise
Hinweis
Der Dbghelp.h-Header definiert SYMBOL_INFO als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Header | dbghelp.h |
Verteilbare Komponente | DbgHelp.dll 5.1 oder höher |