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::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 Inline-Frames 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::findInlineeLines | Ruft eine Enumeration ab, mit der Client die Zeilennummerninformationen aller Funktionen durchlaufen kann, die direkt oder indirekt inline in diesem Symbol vorhanden sind. |
IDiaSymbol::findInlineeLinesByAddr | Ruft eine Enumeration ab, mit der 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 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::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 Offset-Teil 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_backEndMajor | Ruft die Hauptversionsnummer des Back-Ends ab. |
IDiaSymbol::get_backEndMinor | Ruft die Nebenversionsnummer des Back-Ends ab. |
IDiaSymbol::get_backEndBuild | Ruft die Buildnummer des Back-Ends ab. |
IDiaSymbol::get_baseDataOffset | Ruft den Basisdaten-Offset 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_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_classParent | Ruft einen Verweis auf die übergeordnete Klasse des Symbols ab. |
IDiaSymbol::get_classParentId | Ruft den Bezeichner der übergeordneten Klasse des Symbols ab. |
IDiaSymbol::get_code | Ruft ein Flag ab, das anzeigt, ob das Symbol auf eine Codeadresse verweist. |
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_constructor | Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp über einen Konstruktor verfügt. |
IDiaSymbol::get_container | Ruft das enthaltende Symbol dieses Symbols ab. |
IDiaSymbol::get_constType | Ruft ein Flag ab, das anzeigt, ob der benutzerdefinierte Datentyp konstant ist. |
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_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_farReturn | Ruft ein Flag ab, das anzeigt, ob die Funktion eine far-Rückgabe verwendet. |
IDiaSymbol::get_frontEndMajor | Ruft die Hauptversionsnummer des Front-Ends ab. |
IDiaSymbol::get_frontEndMinor | Ruft die Nebenversionsnummer des Front-Ends ab. |
IDiaSymbol::get_frontEndBuild | Ruft die Buildnummer des Front-Ends 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_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_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_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 | Zeigt an, 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_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_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 dem Compilerswitch /hotpatch (Hotpatchfähiges Image erstellen) kompiliert wurde. |
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 einen Datenmember 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 durch Optimierung entfernt 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_isReturnValue | Gibt an, ob die Variable einen Rückgabewert enthält. |
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 einzelner Vererbung 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_isVirtualInheritance | Gibt an, ob der this -Zeiger auf einen Datenmember mit virtueller Vererbung zeigt. |
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 | Ruft einen Verweis auf die übergeordnete lexikalische Klasse des Symbols ab. |
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_liveRangeStartAddressSection | Gibt den Abschnittsteil des Startadressbereichs 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_liveRangeStartRelativeVirtualAddress | Gibt den Anfang des Adressbereichs zurück, in dem das lokale Symbol gültig ist. |
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 | Ruft den Arbeitsspeicherplatztyp 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 anzeigt, ob die Funktion mit dem noinline-Attribut markiert wurde. |
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_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_numberOfColumns | Ruft die Anzahl der Spalten in der Matrix 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_optimizedCodeDebugInfo | Ruft ein Flag ab, das anzeigt, ob die Funktion oder Bezeichnung optimierten Code sowie Debuginformationen enthält. |
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_platform | Ruft den Plattformtyp ab, für den das Programm oder die Kompiliereinheit kompiliert wurde. |
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_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_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::getSrcLineOnTypeDefn | Ruft die Quelldatei und Zeilennummer ab, die anzeigen, wo ein angegebener benutzerdefinierter Typ definiert ist. |
IDiaSymbol::get_stride | Ruft den Sprung der Matrix oder des Sprungarrays ab. |
IDiaSymbol::get_subType | Ruft den Untertyp ab. |
IDiaSymbol::get_subTypeId | Ruft die Untertyp-ID ab. |
IDiaSymbol::get_symbolsFileName | Ruft den Namen der Datei ab, 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 Thunk-Ziels ab. |
IDiaSymbol::get_targetRelativeVirtualAddress | Ruft die relative virtuelle Adresse (RVA) eines Thunk-Ziels ab. |
IDiaSymbol::get_targetSection | Ruft den Adressabschnitt eines Thunk-Ziels 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 -Anpasser 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_types | Ruft ein Array von compilerspezifischen Typwerten für dieses Symbol ab. |
IDiaSymbol::get_typeIds | Ruft ein Array von compilerspezifischen Typbezeichnerwerten 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_unmodifiedTypeId | Ruft die ID des ursprünglichen (unveränderten) Typs ab. |
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 | Ruft den Offset in der virtuellen Funktionstabelle einer virtuellen Funktion ab. |
IDiaSymbol::get_virtualBasePointerOffset | Ruft den Offset des virtuellen Basiszeigers ab. |
IDiaSymbol::get_virtualBaseTableType | Ruft den Typ eines virtuellen Basistabellenzeigers ab. |
IDiaSymbol::get_virtualTableShape | Ruft die Symbolschnittstelle des Typs der virtuellen Tabelle für einen benutzerdefinierten Typ ab. |
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. |
Bemerkungen
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: msdia80.dll