Freigeben über


IDiaSymbol

Beschreibt die Eigenschaften einer Symbolinstanz.

Syntax

IDiaSymbol : IUnknown

Methoden in alphabetischer Reihenfolge

In der folgenden Tabelle sind die Methoden von IDiaSymbol aufgeführt.

Hinweis

Symbole geben je nach Symboltyp nur für einige dieser Methoden sinnvolle Daten zurück. Wenn eine Methode S_OK zurückgibt, hat diese Methode sinnvolle Daten zurückgegeben.

Methode Beschreibung
IDiaSymbol::findChildren Ruft alle untergeordneten Elemente des Symbols ab.
IDiaSymbol::findChildrenEx Ruft die untergeordneten Elemente des Symbols ab. Diese Methode ist die erweiterte Version von IDiaSymbol::findChildren.
IDiaSymbol::findChildrenExByAddr Ruft die untergeordneten Elemente des Symbols ab, die an einer angegebenen Adresse gültig sind.
IDiaSymbol::findChildrenExByRVA Ruft die untergeordneten Elemente des Symbols ab, die an einer angegebenen relativen virtuellen Adresse (RVA) gültig sind.
IDiaSymbol::findChildrenExByVA Ruft die untergeordneten Elemente des Symbols ab, die an einer angegebenen virtuellen Adresse gültig sind.
IDiaSymbol::findInlineeLines Ruft eine Enumeration ab, mit der ein Client die Zeilennummerninformationen aller Funktionen durchlaufen kann, die direkt oder indirekt inline in diesem Symbol vorhanden sind.
IDiaSymbol::findInlineeLinesByAddr Hiermit wird eine Enumeration abgerufen, mit der ein Client die Zeilennummerninformationen aller Funktionen durchlaufen kann, die direkt oder indirekt inline in diesem Symbol innerhalb des angegebenen Adressbereichs vorhanden sind.
IDiaSymbol::findInlineeLinesByRVA Ruft eine Enumeration ab, mit der ein Client die Zeilennummerninformationen aller Funktionen durchlaufen kann, die direkt oder indirekt inline in diesem Symbol an der angegebenen relativen virtuellen Adresse (RVA) vorhanden sind.
IDiaSymbol::findInlineeLinesByVA Ruft eine Enumeration ab, mit der Client die Zeilennummerninformationen aller Funktionen durchlaufen kann, die direkt oder indirekt inline in diesem Symbol an der angegebenen virtuellen Adresse (VA) vorhanden sind.
IDiaSymbol::findInlineFramesByAddr Ruft eine Enumeration ab, mit der ein Client alle Inline-Frames an einer angegebenen Adresse durchlaufen kann.
IDiaSymbol::findInlineFramesByRVA Ruft eine Enumeration ab, mit der ein Client alle Inlineframes an einer angegebenen relativen virtuellen Adresse (RVA) durchlaufen kann.
IDiaSymbol::findInlineFramesByVA Ruft eine Enumeration ab, mit der ein Client alle Inline-Frames an einer angegebenen virtuellen Adresse durchlaufen kann.
IDiaSymbol::findInputAssemblyFile Ruft die .NET Native-Eingabeassemblydatei ab, die das übergeordnete Element des Symbols ist.
IDiaSymbol::findSymbolsByRVAForAcceleratorPointerTag Bei einem entsprechenden Tagwert gibt diese Methode eine Enumeration von Symbolen zurück, die in dieser Stubfunktion an einer angegebenen relativen virtuellen Adresse enthalten sind.
IDiaSymbol::findSymbolsForAcceleratorPointerTag Gibt die Anzahl der Beschleunigerzeigertags in einer C++ AMP-Stubfunktion zurück.
IDiaSymbol::get_acceleratorPointerTags Gibt alle Werte des Beschleunigerzeigertags zurück, die einer C++ AMP-Beschleuniger-Stubfunktion entsprechen.
IDiaSymbol::get_access Ruft den Zugriffsmodifizierer eines Klassenmembers ab.
IDiaSymbol::get_addressOffset Ruft den Offsetteil eines Adressspeicherorts ab.
IDiaSymbol::get_addressSection Ruft den Abschnittsteil eines Adressspeicherorts ab.
IDiaSymbol::get_addressTaken Ruft ein Flag ab, das anzeigt, ob ein anderes Symbol auf diese Adresse verweist.
IDiaSymbol::get_age Ruft den Alterswert einer Programmdatenbank ab.
IDiaSymbol::get_arrayIndexType Ruft den Symbolbezeichner des Array-Indextyps ab.
IDiaSymbol::get_arrayIndexTypeId Ruft den Array-Indextyp-Bezeichner des Symbols ab.
IDiaSymbol::get_backEndBuild Ruft die Buildnummer des Back-Ends ab.
IDiaSymbol::get_backEndMajor Ruft die Hauptversionsnummer des Back-Ends ab.
IDiaSymbol::get_backEndMinor Ruft die Nebenversionsnummer des Back-Ends ab.
IDiaSymbol::get_backEndQFE Ruft die Back-End-Qfe-Nummer ab.
IDiaSymbol::get_baseDataOffset Ruft den Basisdatenoffset ab.
IDiaSymbol::get_baseDataSlot Ruft den Basisdatenslot ab.
IDiaSymbol::get_baseSymbol Ruft das Symbol ab, auf dem der Zeiger basiert.
IDiaSymbol::get_baseSymbolId Ruft die Symbol-ID ab, auf der der Zeiger basiert.
IDiaSymbol::get_baseType Ruft das Type-Tag eines einfachen Typs ab.
IDiaSymbol::get_bindID Ruft den Bindungsregisterindex ab.
IDiaSymbol::get_bindSlot Ruft die untere Grenze im Bindungsraum ab.
IDiaSymbol::get_bindSpace Ruft den Bindungsraum ab.
IDiaSymbol::get_bitPosition Ruft die Bitposition eines Speicherorts ab.
IDiaSymbol::get_builtInKind Ruft eine integrierte Art des HLSL-Typs ab.
IDiaSymbol::get_callingConvention Gibt einen Indikator der Aufrufkonvention einer Methode zurück.
IDiaSymbol::get_characteristics Ruft die Merkmale dieses COFF-Abschnitts ab.
IDiaSymbol::get_classParent Ruft einen Verweis auf die übergeordnete Klasse des Symbols ab.
IDiaSymbol::get_classParentId Hiermit wird der Bezeichner der übergeordneten Klasse des Symbols abgerufen.
IDiaSymbol::get_code Ruft ein Flag ab, das anzeigt, ob das Symbol auf eine Codeadresse verweist.
IDiaSymbol::get_coffGroup Ruft das COFF-Gruppensymbol ab, von dem dieses Symbol stammt.
IDiaSymbol::get_compilerGenerated Ruft ein Flag ab, das anzeigt, ob das Symbol vom Compiler generiert wurde.
IDiaSymbol::get_compilerName Ruft den Namen des Compilers ab, der zum Erstellen der Kompilieren verwendet wurde.
IDiaSymbol::get_constantExport Ruft ein Flag ab, das angibt, ob dieser Export KONSTANT ist.
IDiaSymbol::get_constructor Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp über einen Konstruktor verfügt.
IDiaSymbol::get_constType Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp konstant ist.
IDiaSymbol::get_container Ruft das enthaltende Symbol dieses Symbols ab.
IDiaSymbol::get_count Ruft die Anzahl der Elemente in einer Liste oder einem Array ab.
IDiaSymbol::get_countLiveRanges Ruft die Anzahl gültiger Adressbereiche ab, die dem lokalen Symbol zugeordnet sind.
IDiaSymbol::get_customCallingConvention Ruft ein Flag ab, das anzeigt, ob die Funktion eine benutzerdefinierte Aufrufkonvention verwendet.
IDiaSymbol::get_dataBytes Ruft die Datenbytes eines OEM-Symbols ab.
IDiaSymbol::get_dataExport Ruft ein Flag ab, das angibt, ob dieser Export DATA ist.
IDiaSymbol::get_dataKind Ruft die Variablenklassifizierung eines Datensymbols ab.
IDiaSymbol::get_editAndContinueEnabled Ruft das Flag ab, das die Funktionen „Bearbeiten und Fortfahren“ des kompilierten Programms oder der kompilierten Komponente beschreibt.
IDiaSymbol::get_exceptionHandlerAddressOffset Ruft den Abschnittsversatz des Ausnahmehandlers ab.
IDiaSymbol::get_exceptionHandlerAddressSection Ruft die Abschnittsnummer des Ausnahmehandlers ab.
IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress Ruft die relative virtuelle Adresse des Ausnahmehandlers ab.
IDiaSymbol::get_exceptionHandlerVirtualAddress Ruft die virtuelle Adresse des Ausnahmehandlers ab.
IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal Ruft ein Flag ab, das angibt, ob dieser Export über eine explizit zugewiesene Ordnungszahl verfügt.
IDiaSymbol::get_exportIsForwarder Ruft ein Flag ab, das angibt, ob es sich bei diesem Export um eine Weiterleitung handelt.
IDiaSymbol::get_farReturn Ruft ein Flag ab, das anzeigt, ob die Funktion eine far-Rückgabe verwendet.
IDiaSymbol::get_finalLiveStaticSize Ruft die endgültige statische Größe der Livefunktion nach dem Inlining ab.
IDiaSymbol::get_framePointerPresent Ruft ein Flag ab, das angibt, ob diese Funktion über einen Framezeiger verfügt.
IDiaSymbol::get_frameSize Ruft die Framegröße ab.
IDiaSymbol::get_frontEndBuild Ruft die Buildnummer des Front-Ends ab.
IDiaSymbol::get_frontEndMajor Ruft die Hauptversionsnummer des Front-Ends ab.
IDiaSymbol::get_frontEndMinor Ruft die Nebenversionsnummer des Front-Ends ab.
IDiaSymbol::get_frontEndQFE Ruft die Front-End-QFE-Versionsnummer ab.
IDiaSymbol::get_function Ruft ein Flag ab, das anzeigt, ob das öffentliche Symbol auf eine Funktion verweist.
IDiaSymbol::get_guid Ruft die GUID des Symbols ab.
IDiaSymbol::get_hasAlloca Ruft ein Flag ab, das anzeigt, ob die Funktion einen Aufruf von alloca enthält.
IDiaSymbol::get_hasAssignmentOperator Ruft ein Flag ab, das anzeigt, ob für den benutzerdefinierten Datentyp Zuweisungsoperatoren definiert sind.
IDiaSymbol::get_hasCastOperator Ruft ein Flag ab, das anzeigt, ob für den benutzerdefinierten Datentyp Umwandlungsoperatoren (cast) definiert sind.
IDiaSymbol::get_hasControlFlowCheck Ruft ein Flag ab, das angibt, ob diese Funktion Kontrollflussprüfungen enthält.
IDiaSymbol::get_hasDebugInfo Ruft ein Flag ab, das anzeigt, ob die Kompiliereinheit Debuginformationen enthält.
IDiaSymbol::get_hasEH Ruft ein Flag ab, das anzeigt, ob die Funktion über einen Ausnahmehandler im C++-Stil verfügt.
IDiaSymbol::get_hasEHa Ruft ein Flag ab, das anzeigt, ob die Funktion über einen asynchronen Ausnahmehandler verfügt.
IDiaSymbol::get_hasInlAsm Ruft ein Flag ab, das anzeigt, ob die Funktion über eine Inline-Assembly verfügt.
IDiaSymbol::get_hasLongJump Ruft ein Flag ab, das anzeigt, ob die Funktion einen longjmp-Befehl enthält (Teil der Ausnahmebehandlung im C-Stil).
IDiaSymbol::get_hasManagedCode Ruft ein Flag ab, das anzeigt, ob das Modul verwalteten Code enthält.
IDiaSymbol::get_hasNestedTypes Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp über geschachtelte Typdefinitionen verfügt.
IDiaSymbol::get_hasSecurityChecks Ruft ein Flag ab, das anzeigt, ob Sicherheitsüberprüfungen in die Funktion oder die Kompiliereinheit kompiliert sind (über den Compilerschalter /GS (Puffersicherheitsüberprüfung)).
IDiaSymbol::get_hasSEH Ruft ein Flag ab, das anzeigt, ob die Funktion über strukturierte Ausnahmebehandlung im Win32-Stil verfügt.
IDiaSymbol::get_hasSetJump Ruft ein Flag ab, das anzeigt, ob die Funktion einen setjmp-Befehl enthält.
IDiaSymbol::get_hasValidPGOCounts Ruft ein Flag ab, das angibt, ob diese Symbole gültige PGO-Anzahlen enthalten.
IDiaSymbol::get_hfaDouble Hiermit wird ein Flag abgerufen, das angibt, ob ein benutzerdefinierter Typ (User-defined Type, UDT) homogene Gleitkomma-Aggregatdaten (Homogeneous Floating-point Aggregate, HFA) vom Typ „double“ enthält.
IDiaSymbol::get_hfaFloat Hiermit wird ein Flag abgerufen, das angibt, ob ein benutzerdefinierter Typ (User-defined Type, UDT) homogene Gleitkomma-Aggregatdaten (Homogeneous Floating-point Aggregate, HFA) vom Typ „Gleitkomma“ enthält.
IDiaSymbol::get_indirectVirtualBaseClass Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp eine indirekte virtuelle Basisklasse ist.
IDiaSymbol::get_InlSpec Ruft ein Flag ab, das anzeigt, ob die Funktion mit dem Inline-Attribut markiert wurde.
IDiaSymbol::get_interruptReturn Ruft ein Flag ab, das anzeigt, ob die Funktion über eine Rückgabe von der Interrupt-Anweisung verfügt.
IDiaSymbol::get_intrinsic Ruft ein Flag ab, das angibt, ob eine Klasse ein intrinsischer Typ ist.
IDiaSymbol::get_intro Ruft ein Flag ab, das anzeigt, ob die Funktion die virtuelle Funktion der Basisklasse ist.
IDiaSymbol::get_isAcceleratorGroupSharedLocal Ruft ein Flag ab, das anzeigt, ob das Symbol einer für eine Gruppe freigegebenen lokalen Variablen im Code entspricht, der für einen C++ AMP-Beschleuniger kompiliert wurde.
IDiaSymbol::get_isAcceleratorPointerTagLiveRange Ruft ein Flag ab, das anzeigt, ob das Symbol dem Definitionsbereichssymbol für die Tagkomponente einer Zeigervariablen im Code entspricht, der für einen C++ AMP-Beschleuniger kompiliert wurde. Das Definitionsbereichssymbol ist der Speicherort einer Variablen für einen Bereich von Adressen.
IDiaSymbol::get_isAcceleratorStubFunction Hiermit wird angegeben, ob das Symbol einem Funktionssymbol der obersten Ebene für einen Shader entspricht, der für einen Beschleuniger kompiliert wurde, der einem parallel_for_each-Aufruf entspricht.
IDiaSymbol::get_isAggregated Ruft ein Flag ab, das anzeigt, ob die Daten Teil eines Aggregats aus vielen Symbolen sind.
IDiaSymbol::get_isConstructorVirtualBase Ruft ein Flag ab, das angibt, ob es sich um einen Instanzkonstruktor einer Klasse mit virtueller Basis handelt.
IDiaSymbol::get_isCTypes Ruft ein Flag ab, das anzeigt, ob die Symboldatei C-Typen enthält.
IDiaSymbol::get_isCVTCIL Ruft ein Flag ab, das anzeigt, ob das Modul aus CIL (Common Intermediate Language) in nativen Code konvertiert wurde.
IDiaSymbol::get_isCxxReturnUdt Ruft ein Flag ab, das angibt, ob C++-Stil UDT zurückgegeben wird.
IDiaSymbol::get_isDataAligned Ruft ein Flag ab, das anzeigt, ob die Elemente eines benutzerdefinierten Datentyps an einer bestimmten Grenze ausgerichtet sind.
IDiaSymbol::get_isHLSLData Gibt an, ob dieses Symbol HLSL-Daten (High Level Shader Language) darstellt.
IDiaSymbol::get_isHotpatchable Ruft ein Flag ab, das anzeigt, ob das Modul mit der Compileroption /hotpatch (Hotpatchfähiges Image erstellen) kompiliert wurde.
IDiaSymbol::get_isInterfaceUdt Ruft ein Flag ab, das angibt, ob der Typ ein benutzerdefinierter WinRT-Schnittstellentyp (UDT) ist.
IDiaSymbol::get_isLocationControlFlowDependent Ruft ein Flag ab, das angibt, ob die Standort-Liveität eines lokalen Symbols vom Steuerungsfluss der Funktion abhängig ist.
IDiaSymbol::get_isLTCG Ruft ein Flag ab, das anzeigt, ob die verwaltete Kompiliereinheit mit der Link-Zeitcodegenerierung (LTCG) des Linkers verknüpft wurde.
IDiaSymbol::get_isMatrixRowMajor Gibt an, ob die Matrix eine Zeilenamtrix („row major“) ist.
IDiaSymbol::get_isMSILNetmodule Ruft ein Flag ab, das anzeigt, ob die verwaltete Kompiliereinheit ein „.netmodule“ ist (das nur Metadaten enthält).
IDiaSymbol::get_isMultipleInheritance Gibt an, ob der this-Zeiger auf ein Datenelement mit mehrfacher Vererbung zeigt.
IDiaSymbol::get_isNaked Ruft ein Flag ab, das anzeigt, ob die Funktion über das naked-Attribut verfügt.
IDiaSymbol::get_isOptimizedAway Gibt an, ob die Variable optimiert wurde.
IDiaSymbol::get_isOptimizedForSpeed Ruft ein Flag ab, das angibt, ob die Funktion für die Geschwindigkeit optimiert ist.
IDiaSymbol::get_isPGO Ruft ein Flag ab, das angibt, ob PGO aktiviert wurde.
IDiaSymbol::get_isPointerBasedOnSymbolValue Gibt an, ob der this-Zeiger auf einem Symbolwert basiert.
IDiaSymbol::get_isPointerToDataMember Gibt an, ob dieses Symbol ein Zeiger auf einen Datenmember ist.
IDiaSymbol::get_isPointerToMemberFunction Gibt an, ob dieses Symbol ein Zeiger auf eine Memberfunktion ist.
IDiaSymbol::get_isRefUdt Ruft ein Flag ab, das angibt, ob es sich um einen benutzerdefinierten WinRT-Verweistyp (UDT) handelt.
IDiaSymbol::get_isReturnValue Gibt an, ob die Variable einen Rückgabewert enthält.
IDiaSymbol::get_isSafeBuffers Ruft ein Flag ab, das angibt, ob die Präprozessoranweisung für einen sicheren Puffer verwendet wird.
IDiaSymbol::get_isSdl Gibt an, ob das Modul mit der Option „/SDL“ kompiliert wird.
IDiaSymbol::get_isSingleInheritance Gibt an, ob der this-Zeiger auf einen Datenmember mit Einzelvererbung zeigt.
IDiaSymbol::get_isSplitted Ruft ein Flag ab, das anzeigt, ob die Daten in ein Aggregat aus separaten Symbolen aufgeteilt wurden.
IDiaSymbol::get_isStatic Ruft ein Flag ab, das anzeigt, ob eine Funktion oder Thunk-Ebene statisch ist.
IDiaSymbol::get_isStripped Ruft ein Flag ab, das anzeigt, ob private Symbole aus der Symboldatei entfernt wurden.
IDiaSymbol::get_isValueUdt Ruft ein Flag ab, das angibt, ob es sich um einen benutzerdefinierten WinRT-Wert (USER-Defined Type, UDT) handelt.
IDiaSymbol::get_isVirtualInheritance Gibt an, ob der this-Zeiger auf einen Datenmember mit virtueller Vererbung zeigt.
IDiaSymbol::get_isWinRTPointer Ruft ein Flag ab, das angibt, ob es sich um einen WinRT-Zeigertyp handelt.
IDiaSymbol::get_language Ruft die Sprache der Quelle ab.
IDiaSymbol::get_length Ruft die Anzahl der Bytes des Arbeitsspeichers ab, die von dem durch dieses Symbol dargestellten Objekt verwendet werden.
IDiaSymbol::get_lexicalParent Hiermit wird ein Verweis auf das übergeordnete lexikalische Element des Symbols abgerufen.
IDiaSymbol::get_lexicalParentId Ruft den Bezeichner der übergeordneten lexikalischen Klasse des Symbols ab.
IDiaSymbol::get_libraryName Ruft den Dateinamen der Bibliothek oder Objektdatei ab, aus der das Objekt geladen wurde.
IDiaSymbol::get_liveRangeLength Gibt die Länge des Adressbereichs zurück, in dem das lokale Symbol gültig ist.
IDiaSymbol::get_liveRangeStartAddressOffset Gibt den Offsetteil des Startadressbereichs zurück, in dem das lokale Symbol gültig ist.
IDiaSymbol::get_liveRangeStartAddressSection Gibt den Abschnittsteil des Startadressbereichs zurück, in dem das lokale Symbol gültig ist.
IDiaSymbol::get_liveRangeStartRelativeVirtualAddress Gibt den Anfang des Adressbereichs zurück, in dem das lokale Symbol gültig ist.
IDiaSymbol::get_localBasePointerRegisterId Ruft den Registerdesignator des Registers ab, das den Basiszeiger auf Lokals hält.
IDiaSymbol::get_locationType Ruft den Typ des Speicherorts eines Datensymbols ab.
IDiaSymbol::get_lowerBound Ruft die Untergrenze einer FORTRAN-Arraydimension ab.
IDiaSymbol::get_lowerBoundId Ruft den Symbolbezeichner der Untergrenze einer FORTRAN-Arraydimension ab.
IDiaSymbol::get_machineType Ruft den Typ der Ziel-CPU ab.
IDiaSymbol::get_managed Ruft ein Flag ab, das anzeigt, ob das Symbol auf verwalteten Code verweist.
IDiaSymbol::get_memorySpaceKind Hiermit wird der Arbeitsspeicherplatz-Typ abgerufen.
IDiaSymbol::get_modifierValues Ruft den Satz von Modiferen für dieses Symbol ab.
IDiaSymbol::get_msil Ruft ein Flag ab, das anzeigt, ob das Symbol auf MSIL-Code (Microsoft Intermediate Language) verweist.
IDiaSymbol::get_name Ruft den Namen des Symbols ab.
IDiaSymbol::get_nested Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp geschachtelt ist.
IDiaSymbol::get_noInline Ruft ein Flag ab, das angibt, ob die Funktion mit dem noinline Attribut gekennzeichnet ist.
IDiaSymbol::get_noNameExport Ruft ein Flag ab, das angibt, ob dieser Export ist NONAME.
IDiaSymbol::get_noReturn Ruft ein Flag ab, das anzeigt, ob die Funktion mit dem noreturn-Attribut deklariert wurde.
IDiaSymbol::get_noStackOrdering Ruft ein Flag ab, das anzeigt, ob im Rahmen der Stapelpufferüberprüfung keine Stapelsortierung durchgeführt werden konnte.
IDiaSymbol::get_notReached Ruft ein Flag ab, das anzeigt, ob die Funktion oder Bezeichnung nie erreicht wird.
IDiaSymbol::get_numberOfAcceleratorPointerTags Gibt die Anzahl der Beschleunigerzeigertags in einer C++ AMP-Stubfunktion zurück.
IDiaSymbol::get_numberOfColumns Ruft die Anzahl der Spalten in der Matrix ab.
IDiaSymbol::get_numberOfModifiers Ruft die Anzahl der Modifizierer ab, die auf den ursprünglichen Typ angewendet werden.
IDiaSymbol::get_numberOfRegisterIndices Ruft die Anzahl der Registerindizes ab.
IDiaSymbol::get_numberOfRows Ruft die Anzahl der Zeilen in der Matrix ab.
IDiaSymbol::get_numericProperties Ruft den Satz numerischer Eigenschaften für dieses Symbol ab.
IDiaSymbol::get_objectFileName Ruft den Namen der Objektdatei ab.
IDiaSymbol::get_objectPointerType Ruft den Typ des Objektzeigers für eine Klassenmethode ab.
IDiaSymbol::get_oemId Ruft den oemId-Wert des Symbols ab.
IDiaSymbol::get_oemSymbolId Ruft den oemSymbolId-Wert des Symbols ab.
IDiaSymbol::get_offset Ruft den Offset des Symbolspeicherorts ab.
IDiaSymbol::get_offsetInUdt Ruft den Feldoffset dieses Symbols innerhalb des äußeren benutzerdefinierten Typs (UDT) ab.
IDiaSymbol::get_optimizedCodeDebugInfo Ruft ein Flag ab, das anzeigt, ob die Funktion oder Bezeichnung optimierten Code sowie Debuginformationen enthält.
IDiaSymbol::get_ordinal Ruft die Ordnungszahl dieses Exports ab.
IDiaSymbol::get_overloadedOperator Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp über überladene Operatoren verfügt.
IDiaSymbol::get_packed Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp gepackt ist.
IDiaSymbol::get_paramBasePointerRegisterId Ruft den Registerdesignator des Registers ab, das den Basiszeiger auf Parameter hält.
IDiaSymbol::get_PGODynamicInstructionCount Ruft die dynamische Anweisungsanzahl ab, die von der Schulung berechnet wird.
IDiaSymbol::get_PGOEdgeCount Ruft die Edgeanzahl zwischen einem Anrufer/Angerufenen und dem übergeordneten Element ab.
IDiaSymbol::get_PGOEntryCount Ruft die Gesamtzahl der Aufrufe in der PGO-Schulung ab.
IDiaSymbol::get_phaseName Ruft die Phase ab, in der diese Funktion Mitglied für mehrstufige PGO-Builds ist.
IDiaSymbol::get_platform Ruft den Plattformtyp ab, für den das Programm oder die Kompiliereinheit kompiliert wurde.
IDiaSymbol::get_privateExport Ruft ein Flag ab, das angibt, ob dieser Export ist PRIVATE.
IDiaSymbol::get_pure Ruft ein Flag ab, das anzeigt, ob die Funktion rein virtuell ist.
IDiaSymbol::get_rank Ruft den Rang eines mehrdimensionalen FORTRAN-Arrays ab.
IDiaSymbol::get_reference Ruft ein Flag ab, das anzeigt, ob ein Zeigertyp ein Verweis ist.
IDiaSymbol::get_registerId Ruft den Registerkennzeichner des Speicherorts ab.
IDiaSymbol::get_registerType Ruft den Registertyp ab.
IDiaSymbol::get_relativeVirtualAddress Ruft die relative virtuelle Adresse (RVA) des Speicherorts ab.
IDiaSymbol::get_restrictedType Gibt an, ob der this-Zeiger als eingeschränkt gekennzeichnet ist.
IDiaSymbol::get_RValueReference Ruft ein Flag ab, das angibt, ob ein Zeigertyp ein rvalue-Verweis ist.
IDiaSymbol::get_samplerSlot Ruft den Stichprobennehmerslot (Sampler) ab.
IDiaSymbol::get_scoped Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp in einem nicht globalen lexikalischen Bereich vorkommt.
IDiaSymbol::get_sealed Ruft ein Flag ab, das angibt, ob die Klasse oder Methode versiegelt ist.
IDiaSymbol::get_signature Ruft den Signaturwert des Symbols ab.
IDiaSymbol::get_sizeInUdt Ruft die Größe eines Members eines benutzerdefinierten Typs ab.
IDiaSymbol::get_slot Ruft die Slotnummer des Speicherorts ab.
IDiaSymbol::get_sourceFileName Ruft den Dateinamen der Quelldatei ab.
IDiaSymbol::get_staticSize Ruft die Anzahl statischer Anweisungen ab.
IDiaSymbol::get_strictGSCheck Ruft ein Flag ab, das angibt, ob diese Funktion mit strict_gs_check aktiviertem Pragma kompiliert wurde.
IDiaSymbol::get_stride Ruft den Sprung der Matrix oder des Sprungarrays ab.
IDiaSymbol::get_subType Ruft den Untertyp ab.
IDiaSymbol::get_subTypeId Hiermit wird die ID des untergeordneten Typs abgerufen.
IDiaSymbol::get_symbolsFileName Hiermit wird der Name der Datei abgerufen, aus der die Symbole geladen wurden.
IDiaSymbol::get_symIndexId Ruft den eindeutigen Symbolbezeichner ab.
IDiaSymbol::get_symTag Ruft den Symboltypklassifizierer ab.
IDiaSymbol::get_targetOffset Ruft den Offsetabschnitt eines Thunkziels ab.
IDiaSymbol::get_targetRelativeVirtualAddress Hiermit wird die relative virtuelle Adresse (RVA) eines Thunk-Ziels abgerufen.
IDiaSymbol::get_targetSection Ruft den Adressabschnitt eines Thunkziels ab.
IDiaSymbol::get_targetVirtualAddress Ruft die virtuelle Adresse (VA) eines Thunk-Ziels ab.
IDiaSymbol::get_textureSlot Ruft den Texturslot ab.
IDiaSymbol::get_thisAdjust Ruft den logischen this-Adjustor für die Methode ab.
IDiaSymbol::get_thunkOrdinal Ruft den Thunk-Typ einer Funktion ab.
IDiaSymbol::get_timeStamp Ruft den Zeitstempel der zugrunde liegenden ausführbaren Datei ab.
IDiaSymbol::get_token Ruft das Metadatentoken einer verwalteten Funktion oder Variablen ab.
IDiaSymbol::get_type Ruft einen Verweis auf die Funktionssignatur ab.
IDiaSymbol::get_typeId Ruft den Typbezeichner des Symbols ab.
IDiaSymbol::get_typeIds Ruft ein Array von compilerspezifischen Typbezeichnerwerten für dieses Symbol ab.
IDiaSymbol::get_types Ruft ein Array von compilerspezifischen Typwerten für dieses Symbol ab.
IDiaSymbol::get_uavSlot Ruft den uav-Slot ab.
IDiaSymbol::get_udtKind Ruft die Variante eines benutzerdefinierten Typs (UDT) ab.
IDiaSymbol::get_unalignedType Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp nicht ausgerichtet ist.
IDiaSymbol::get_undecoratedName Ruft den undekorierten Namen für einen dekorierten C++-Namen bzw. Bindungsnamen ab.
IDiaSymbol::get_undecoratedNameEx Erweiterung der get_undecoratedName-Methode, die den undekorierten Namen basierend auf dem Wert eines Erweiterungsfelds abruft.
IDiaSymbol::get_unmodifiedType Ruft den ursprünglichen (unmodifierten) Typ dieses Symbols ab.
IDiaSymbol::get_unmodifiedTypeId Ruft die ID des ursprünglichen (unveränderten) Typs ab.
IDiaSymbol::get_unused Veraltete Funktion.
IDiaSymbol::get_upperBound Ruft die Obergrenze einer FORTRAN-Arraydimension ab.
IDiaSymbol::get_upperBoundId Ruft den Symbolbezeichner der Obergrenze einer FORTRAN-Arraydimension ab.
IDiaSymbol::get_value Ruft den Wert einer Konstanten ab.
IDiaSymbol::get_virtual Ruft ein Flag ab, das anzeigt, ob die Funktion virtuell ist.
IDiaSymbol::get_virtualAddress Ruft die virtuelle Adresse (VA) des Speicherorts ab.
IDiaSymbol::get_virtualBaseClass Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp eine virtuelle Basisklasse ist.
IDiaSymbol::get_virtualBaseDispIndex Ruft den Index der Tabelle der virtuellen Basisverschiebung ab.
IDiaSymbol::get_virtualBaseOffset Hiermit wird der Offset in der virtuellen Funktionstabelle einer virtuellen Funktion abgerufen.
IDiaSymbol::get_virtualBasePointerOffset Ruft den Offset des virtuellen Basiszeigers ab.
IDiaSymbol::get_virtualBaseTableType Ruft den Typ eines virtuellen Basistabellenzeigers ab.
IDiaSymbol::get_virtualTableShape Hiermit wird die Symbolschnittstelle des Typs der virtuellen Tabelle für einen benutzerdefinierten Typ abgerufen.
IDiaSymbol::get_virtualTableShapeId Ruft den Bezeichner für die Form der virtuellen Tabelle des Symbols ab.
IDiaSymbol::get_volatileType Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp flüchtig ist.
IDiaSymbol::get_wasInlined Ruft ein Flag ab, das angibt, ob dieses Funktionssymbol in eine andere Funktion eingebettet wurde.
IDiaSymbol::getSrcLineOnTypeDefn Ruft die Quelldatei und Zeilennummer ab, die anzeigen, wo ein angegebener benutzerdefinierter Typ definiert ist

Hinweise

Hinweise für Aufrufer

Rufen Sie diese Schnittstelle ab, indem Sie eine der folgenden Methoden aufrufen:

Beispiel

In diesem Beispiel wird gezeigt, wie die lokalen Variablen für eine Funktion an einer bestimmten relativen virtuellen Adresse angezeigt werden. Ferner wird gezeigt, wie Symbole verschiedener Typen miteinander in Zusammenhang stehen.

Hinweis

CDiaBSTR ist eine Klasse, die ein BSTR-Element umschließt und automatisch die Freigabe der Zeichenfolge verarbeitet, wenn die Instanziierung den Gültigkeitsbereich überschreitet.

void DumpLocalVars( DWORD rva, IDiaSession *pSession )
{
    CComPtr< IDiaSymbol > pBlock;
    if ( FAILED( psession->findSymbolByRVA( rva, SymTagBlock, &pBlock ) ) )
    {
        Fatal( "Failed to find symbols by RVA" );
    }
    CComPtr< IDiaSymbol > pscope;
    for ( ; pBlock != NULL; )
    {
        CComPtr< IDiaEnumSymbols > pEnum;
        // local data search
        if ( FAILED( pBlock->findChildren( SymTagNull, NULL, nsNone, &pEnum ) ) )
        {
            Fatal( "Local scope findChildren failed" );
        }
        CComPtr< IDiaSymbol > pSymbol;
        DWORD tag;
        DWORD celt;
        while ( pEnum != NULL &&
                SUCCEEDED( pEnum->Next( 1, &pSymbol, &celt ) ) &&
                celt == 1)
        {
            pSymbol->get_symTag( &tag );
            if ( tag == SymTagData )
            {
                CDiaBSTR name;
                DWORD    kind;
                pSymbol->get_name( &name );
                pSymbol->get_dataKind( &kind );
                if ( name != NULL )
                    wprintf_s( L"\t%s (%s)\n", name, szDataKinds[ kind ] );
            }
            else if ( tag == SymTagAnnotation )
            {
                CComPtr< IDiaEnumSymbols > pValues;
                // local data search
                wprintf_s( L"\tAnnotation:\n" );
                if ( FAILED( pSymbol->findChildren( SymTagNull, NULL, nsNone, &pValues ) ) )
                    Fatal( "Annotation findChildren failed" );
                pSymbol = NULL;
                while ( pValues != NULL &&
                        SUCCEEDED( pValues->Next( 1, &pSymbol, &celt ) ) &&
                        celt == 1 )
                {
                    CComVariant value;
                    if ( pSymbol->get_value( &value ) != S_OK )
                        Fatal( "No value for annotation data." );
                    wprintf_s( L"\t\t%ws\n", value.bstrVal );
                    pSymbol = NULL;
                }
            }
            pSymbol = NULL;
        }
        pBlock->get_symTag( &tag );
        if ( tag == SymTagFunction )    // stop when at function scope
            break;
        // move to lexical parent
        CComPtr< IDiaSymbol > pParent;
        if ( SUCCEEDED( pBlock->get_lexicalParent( &pParent ) )
            && pParent != NULL ) {
            pBlock = pParent;
        }
        else
        {
            Fatal( "Finding lexical parent failed." );
        }
    };
}

Anforderungen

Header: Dia2.h

Bibliothek: diaguids.lib

DLL: msdia140.dll

Siehe auch