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

Weitere Informationen