IDiaSymbol
Décrit les propriétés d’une instance de symbole.
Syntaxe
IDiaSymbol : IUnknown
Méthodes par ordre alphabétique
Le tableau suivant présente les méthodes de IDiaSymbol
.
Notes
Les symboles retournent des données significatives uniquement pour certaines de ces méthodes, en fonction du type de symbole. Si une méthode retourne S_OK
, cette méthode a renvoyé des données significatives.
Méthode | Description |
---|---|
IDiaSymbol::findChildren | Récupère tous les enfants du symbole. |
IDiaSymbol::findChildrenEx | Récupère les enfants du symbole. Cette méthode est la version étendue de IDiaSymbol::findChildren. |
IDiaSymbol::findChildrenExByAddr | Récupère les enfants du symbole qui sont valides à une adresse spécifiée. |
IDiaSymbol::findChildrenExByRVA | Récupère les enfants du symbole qui sont valides à une adresse virtuelle relative (RVA) spécifiée. |
IDiaSymbol::findChildrenExByVA | Récupère les enfants du symbole qui sont valides à une adresse virtuelle spécifiée. |
IDiaSymbol::findInlineFramesByAddr | Récupère une énumération qui permet à un client d’itérer au sein de tous les frames inline sur une adresse donnée. |
IDiaSymbol::findInlineFramesByRVA | Récupère une énumération qui permet à un client d’itérer au sein de tous les frames inline sur une adresse virtuelle relative (RVA) spécifiée. |
IDiaSymbol::findInlineFramesByVA | Récupère une énumération qui permet à un client d’itérer au sein de tous les frames inline sur une adresse virtuelle spécifiée. |
IDiaSymbol::findInlineeLines | Récupère une énumération qui permet à un client d’itérer dans les informations de numéro de ligne de toutes les fonctions insérées, directement ou indirectement, par ce symbole. |
IDiaSymbol::findInlineeLinesByAddr | Récupère une énumération qui permet à un client d’itérer dans les informations de numéro de ligne de toutes les fonctions insérées, directement ou indirectement, dans ce symbole dans la plage d’adresses spécifiée. |
IDiaSymbol::findInlineeLinesByRVA | Récupère une énumération qui permet à un client d’itérer dans les informations de numéro de ligne de toutes les fonctions insérées, directement ou indirectement, dans ce symbole dans l’adresse virtuelle relative spécifiée. |
IDiaSymbol::findInlineeLinesByVA | Récupère une énumération qui permet à un client d’itérer dans les informations de numéro de ligne de toutes les fonctions insérées, directement ou indirectement, dans ce symbole dans l’adresse virtuelle spécifiée. |
IDiaSymbol::findSymbolsByRVAForAcceleratorPointerTag | Avec une valeur de balise correspondante, cette méthode retourne une énumération de symboles contenus dans cette fonction stub à une adresse virtuelle relative spécifiée. |
IDiaSymbol::findSymbolsForAcceleratorPointerTag | Retourne le nombre d’étiquettes de pointeur d’accélérateur dans une fonction stub C++ AMP. |
IDiaSymbol::get_acceleratorPointerTags | Retourne toutes les valeurs de balise de pointeur d’accélérateur qui correspondent à une fonction stub d’accélérateur C++ AMP. |
IDiaSymbol::get_access | Récupère le modificateur d’accès d’un membre de classe. |
IDiaSymbol::get_addressOffset | Récupère la partie décalage d’un emplacement d’adresse. |
IDiaSymbol::get_addressSection | Récupère la partie section d’un emplacement d’adresse. |
IDiaSymbol::get_addressTaken | Récupère un indicateur signalant si un autre symbole fait référence à cette adresse. |
IDiaSymbol::get_age | Récupère la valeur d’âge d’une base de données de programme. |
IDiaSymbol::get_arrayIndexType | Récupère l’identificateur de symbole du type d’index de tableau. |
IDiaSymbol::get_arrayIndexTypeId | Récupère l’identificateur de type d’index de tableau du symbole. |
IDiaSymbol::get_backEndMajor | Récupère le numéro de version principale du back-end. |
IDiaSymbol::get_backEndMinor | Récupère le numéro de version mineure du back-end. |
IDiaSymbol::get_backEndBuild | Récupère le numéro de build du back-end. |
IDiaSymbol::get_baseDataOffset | Récupère le décalage des données de base. |
IDiaSymbol::get_baseDataSlot | Récupère l’emplacement des données de base. |
IDiaSymbol::get_baseSymbol | Récupère le symbole à partir duquel le pointeur est basé. |
IDiaSymbol::get_baseSymbolId | Récupère l’ID de symbole à partir duquel le pointeur est basé. |
IDiaSymbol::get_baseType | Récupère la balise de type d’un type simple. |
IDiaSymbol::get_bitPosition | Récupère la position du bit d’un emplacement. |
IDiaSymbol::get_builtInKind | Récupère un type intégré de type HLSL. |
IDiaSymbol::get_callingConvention | Retourne un indicateur de la convention d’appel d’une méthode. |
IDiaSymbol::get_classParent | Récupère une référence au parent de classe du symbole. |
IDiaSymbol::get_classParentId | Récupère l’identificateur parent de classe du symbole. |
IDiaSymbol::get_code | Récupère un indicateur qui signale si le symbole fait référence à une adresse de code. |
IDiaSymbol::get_compilerGenerated | Récupère un indicateur signalant si le symbole a été généré par le compilateur. |
IDiaSymbol::get_compilerName | Récupère le nom du compilateur utilisé pour créer le Compiland. |
IDiaSymbol::get_constructor | Récupère un indicateur signalant si le type de données défini par l’utilisateur a un constructeur. |
IDiaSymbol::get_container | Récupère le symbole contenant de ce symbole. |
IDiaSymbol::get_constType | Récupère un indicateur signalant si le type de données défini par l’utilisateur est constant. |
IDiaSymbol::get_count | Récupère le nombre d’éléments d’une liste ou d’un tableau. |
IDiaSymbol::get_countLiveRanges | Récupère le nombre de plages d’adresses valides associées au symbole local. |
IDiaSymbol::get_customCallingConvention | Récupère un indicateur signalant si la fonction utilise une convention d’appel personnalisée. |
IDiaSymbol::get_dataBytes | Récupère les octets de données d’un symbole OEM. |
IDiaSymbol::get_dataKind | Récupère la classification de variable d’un symbole de données. |
IDiaSymbol::get_editAndContinueEnabled | Récupère l’indicateur décrivant les fonctionnalités Modifier et Continuer du programme ou de l’unité que vous compilez. |
IDiaSymbol::get_farReturn | Récupère un indicateur signalant si la fonction utilise un retour lointain. |
IDiaSymbol::get_frontEndMajor | Récupère le numéro de version principale du front-end. |
IDiaSymbol::get_frontEndMinor | Récupère le numéro de version mineure du front-end. |
IDiaSymbol::get_frontEndBuild | Récupère le numéro de build du front-end. |
IDiaSymbol::get_function | Récupère un indicateur signalant si le symbole public fait référence à une fonction. |
IDiaSymbol::get_guid | Récupère le GUID du symbole. |
IDiaSymbol::get_hasAlloca | Récupère un indicateur indiquant si la fonction contient un appel à alloca . |
IDiaSymbol::get_hasAssignmentOperator | Récupère un indicateur signalant si le type de données défini par l’utilisateur a des opérateurs d’affectation définis. |
IDiaSymbol::get_hasCastOperator | Récupère un indicateur signalant si le type de données défini par l’utilisateur a des opérateurs de cast définis. |
IDiaSymbol::get_hasDebugInfo | Récupère un indicateur signalant si la compilation et contient des informations de débogage. |
IDiaSymbol::get_hasEH | Récupère un indicateur signalant si la fonction a un gestionnaire d’exceptions de style C++. |
IDiaSymbol::get_hasEHa | Récupère un indicateur signalant si la fonction a un gestionnaire d’exceptions asynchrone. |
IDiaSymbol::get_hasInlAsm | Récupère un indicateur signalant si la fonction a un assembly inline. |
IDiaSymbol::get_hasLongJump | Récupère un indicateur signalant si la fonction contient une commande longjmp (qui fait partie de la gestion des exceptions de style C). |
IDiaSymbol::get_hasManagedCode | Récupère un indicateur signalant si le module contient du code managé. |
IDiaSymbol::get_hasNestedTypes | Récupère un indicateur signalant si le type de données défini par l’utilisateur a des définitions de type imbriquées. |
IDiaSymbol::get_hasSecurityChecks | Récupère un indicateur indiquant si la fonction ou la compilation a des contrôles de sécurité compilés (via le commutateur du compilateur /GS (Vérification de la sécurité des mémoires tampons)). |
IDiaSymbol::get_hasSEH | Récupère un indicateur signalant si la fonction a une gestion structurée des exceptions de style Win32. |
IDiaSymbol::get_hasSetJump | Récupère un indicateur signalant si la fonction contient une commande setjmp. |
IDiaSymbol::get_indirectVirtualBaseClass | Récupère un indicateur signalant si le type de données défini par l’utilisateur est une classe de base virtuelle indirecte. |
IDiaSymbol::get_InlSpec | Récupère un indicateur signalant si la fonction a été marquée avec l’attribut inline. |
IDiaSymbol::get_interruptReturn | Récupère un indicateur signalant si la fonction a un retour à partir d’une instruction d’interruption. |
IDiaSymbol::get_intro | Récupère un indicateur signalant si la fonction est la fonction virtuelle de classe de base. |
IDiaSymbol::get_isAcceleratorGroupSharedLocal | Récupère un indicateur signalant si le symbole correspond à une variable locale partagée de groupe dans le code compilé pour un accélérateur C++ AMP. |
IDiaSymbol::get_isAcceleratorPointerTagLiveRange | Récupère un indicateur qui spécifie si le symbole correspond au symbole de plage de définition pour le composant d’étiquette d’une variable de pointeur dans le code compilé pour un accélérateur C++ AMP. Le symbole de plage de définition est l’emplacement d’une variable pour une étendue d’adresses. |
IDiaSymbol::get_isAcceleratorStubFunction | Indique si le symbole correspond à un symbole de fonction de niveau supérieur pour un nuanceur compilé pour un accélérateur qui correspond à un appel parallel_for_each . |
IDiaSymbol::get_isAggregated | Récupère un indicateur signalant si les données font partie d’un agrégat de nombreux symboles. |
IDiaSymbol::get_isCTypes | Récupère un indicateur signalant si le fichier de symboles contient des types C. |
IDiaSymbol::get_isCVTCIL | Récupère un indicateur signalant si le module a été converti du langage CIL (Common Intermediate Language) en code natif. |
IDiaSymbol::get_isDataAligned | Récupère un indicateur signalant si les éléments d’un type de données défini par l’utilisateur sont alignés sur une limite spécifique. |
IDiaSymbol::get_isHLSLData | Spécifie si ce symbole représente des données HLSL (High Level Shader Language). |
IDiaSymbol::get_isHotpatchable | Récupère un indicateur indiquant si le module a été compilé avec le commutateur du compilateur /hotpatch (Créer une image corrigeable en mémoire). |
IDiaSymbol::get_isLTCG | Récupère un indicateur signalant si le compiland managé a été lié à la LTCG de l’éditeur de liens. |
IDiaSymbol::get_isMatrixRowMajor | Spécifie si la matrice est de type row-major. |
IDiaSymbol::get_isMSILNetmodule | Récupère un indicateur signalant si le compiland managé est un .netmodule (contenant uniquement des métadonnées). |
IDiaSymbol::get_isMultipleInheritance | Spécifie si le pointeur this pointe vers un membre de données avec héritage multiple. |
IDiaSymbol::get_isNaked | Récupère un indicateur indiquant si la fonction a l’attribut naked. |
IDiaSymbol::get_isOptimizedAway | Spécifie si la variable est optimisée. |
IDiaSymbol::get_isPointerBasedOnSymbolValue | Spécifie si le pointeur this est basé sur une valeur de symbole. |
IDiaSymbol::get_isPointerToDataMember | Spécifie si ce symbole est un pointeur vers un membre de données. |
IDiaSymbol::get_isPointerToMemberFunction | Spécifie si ce symbole est un pointeur vers une fonction membre. |
IDiaSymbol::get_isReturnValue | Spécifie si la variable contient une valeur de retour. |
IDiaSymbol::get_isSdl | Spécifie si le module est compilé avec l’option /SDL. |
IDiaSymbol::get_isSingleInheritance | Spécifie si le pointeur this pointe vers un membre de données avec héritage unique. |
IDiaSymbol::get_isSplitted | Récupère un indicateur signalant si les données ont été divisées en un agrégat de symboles distincts. |
IDiaSymbol::get_isStatic | Récupère un indicateur signalant si une fonction ou une couche thunk est statique. |
IDiaSymbol::get_isStripped | Récupère un indicateur signalant si les symboles privés ont été supprimés du fichier de symboles. |
IDiaSymbol::get_isVirtualInheritance | Spécifie si le pointeur this pointe vers un membre de données avec héritage virtuel. |
IDiaSymbol::get_language | Récupère la langue de la source. |
IDiaSymbol::get_length | Récupère le nombre d’octets de mémoire utilisés par l’objet représenté par ce symbole. |
IDiaSymbol::get_lexicalParent | Récupère une référence au parent lexical du symbole. |
IDiaSymbol::get_lexicalParentId | Récupère l’identificateur parent lexical du symbole. |
IDiaSymbol::get_libraryName | Récupère le nom de fichier de la bibliothèque ou du fichier objet à partir duquel l’objet a été chargé. |
IDiaSymbol::get_liveRangeLength | Retourne la longueur de la plage d’adresses dans laquelle le symbole local est valide. |
IDiaSymbol::get_liveRangeStartAddressSection | Retourne la partie section de la plage d’adresses de départ dans laquelle le symbole local est valide. |
IDiaSymbol::get_liveRangeStartAddressOffset | Retourne la partie décalage de la plage d’adresses de départ dans laquelle le symbole local est valide. |
IDiaSymbol::get_liveRangeStartRelativeVirtualAddress | Retourne le début de la plage d’adresses dans laquelle le symbole local est valide. |
IDiaSymbol::get_locationType | Récupère le type d’emplacement d’un symbole de données. |
IDiaSymbol::get_lowerBound | Récupère la limite inférieure d’une dimension de tableau FORTRAN. |
IDiaSymbol::get_lowerBoundId | Récupère l’identificateur de symbole de la limite inférieure d’une dimension de tableau FORTRAN. |
IDiaSymbol::get_machineType | Récupère le type du processeur cible. |
IDiaSymbol::get_managed | Récupère un indicateur signalant si le symbole fait référence au code managé. |
IDiaSymbol::get_memorySpaceKind | Récupère le type d’espace mémoire. |
IDiaSymbol::get_msil | Récupère un indicateur signalant si le symbole fait référence au code MSIL (Microsoft Intermediate Language). |
IDiaSymbol::get_name | Récupère le nom du symbole. |
IDiaSymbol::get_nested | Récupère un indicateur signalant si le type de données défini par l’utilisateur est imbriqué. |
IDiaSymbol::get_noInline | Récupère un indicateur indiquant si la fonction est marquée avec l’attribut noinline. |
IDiaSymbol::get_noReturn | Récupère un indicateur indiquant si la fonction a été déclarée avec l’attribut noreturn. |
IDiaSymbol::get_noStackOrdering | Récupère un indicateur signalant si aucun classement de pile n’a pu être effectué dans le cadre de la vérification de la mémoire tampon de la pile. |
IDiaSymbol::get_notReached | Récupère un indicateur signalant si la fonction ou l’étiquette n’est jamais atteinte. |
IDiaSymbol::get_numberOfAcceleratorPointerTags | Retourne le nombre d’étiquettes de pointeur d’accélérateur dans une fonction stub C++ AMP. |
IDiaSymbol::get_numberOfModifiers | Récupère le nombre de modificateurs appliqués au type d’origine. |
IDiaSymbol::get_numberOfRegisterIndices | Récupère le nombre d’index de registre. |
IDiaSymbol::get_numberOfRows | Récupère le nombre de lignes dans la matrice. |
IDiaSymbol::get_numberOfColumns | Récupère le nombre de colonnes dans la matrice. |
IDiaSymbol::get_objectFileName | Récupère le nom du fichier objet. |
IDiaSymbol::get_objectPointerType | Récupère le type du pointeur d’objet pour une méthode de classe. |
IDiaSymbol::get_oemId | Récupère la valeur du symbole oemId . |
IDiaSymbol::get_oemSymbolId | Récupère la valeur du symbole oemSymbolId . |
IDiaSymbol::get_offset | Récupère le décalage de l’emplacement du symbole. |
IDiaSymbol::get_optimizedCodeDebugInfo | Récupère un indicateur signalant si la fonction ou l’étiquette contient du code optimisé ainsi que des informations de débogage. |
IDiaSymbol::get_overloadedOperator | Récupère un indicateur signalant si le type de données défini par l’utilisateur a des opérateurs surchargés. |
IDiaSymbol::get_packed | Récupère un indicateur signalant si le type de données défini par l’utilisateur est empaqueté. |
IDiaSymbol::get_platform | Récupère le type de plateforme pour lequel le programme ou compiland a été compilé. |
IDiaSymbol::get_pure | Récupère un indicateur qui indique si la fonction est purement virtuelle. |
IDiaSymbol::get_rank | Récupère le rang d’un tableau multidimensionnel FORTRAN. |
IDiaSymbol::get_reference | Récupère un indicateur signalant si un type de pointeur est une référence. |
IDiaSymbol::get_registerId | Récupère l’identificateur de registre de l’emplacement. |
IDiaSymbol::get_registerType | Récupère le type de registre. |
IDiaSymbol::get_relativeVirtualAddress | Récupère l’adresse virtuelle relative (RVA) de l’emplacement. |
IDiaSymbol::get_restrictedType | Spécifie si le pointeur this est marqué comme restreint. |
IDiaSymbol::get_samplerSlot | Récupère l’emplacement de l’échantillonneur. |
IDiaSymbol::get_scoped | Récupère un indicateur signalant si le type de données défini par l’utilisateur apparaît dans une étendue lexicale non globale. |
IDiaSymbol::get_signature | Récupère la valeur de signature du symbole. |
IDiaSymbol::get_sizeInUdt | Récupère la taille d’un membre d’un type défini par l’utilisateur. |
IDiaSymbol::get_slot | Récupère le numéro d’emplacement de l’emplacement. |
IDiaSymbol::get_sourceFileName | Récupère le nom de fichier du fichier source. |
IDiaSymbol::getSrcLineOnTypeDefn | Récupère le fichier source et le numéro de ligne qui indiquent où un type défini par l’utilisateur spécifié est défini. |
IDiaSymbol::get_stride | Récupère le pas de la matrice ou du tableau à pas. |
IDiaSymbol::get_subType | Récupère le sous-type. |
IDiaSymbol::get_subTypeId | Récupère l’ID de sous-type. |
IDiaSymbol::get_symbolsFileName | Récupère le nom du fichier à partir duquel les symboles ont été chargés. |
IDiaSymbol::get_symIndexId | Récupère l’identificateur de symbole unique. |
IDiaSymbol::get_symTag | Récupère le classifieur de type de symbole. |
IDiaSymbol::get_targetOffset | Récupère la section décalage d’une cible thunk. |
IDiaSymbol::get_targetRelativeVirtualAddress | Récupère l’adresse virtuelle relative (RVA) d’une cible thunk. |
IDiaSymbol::get_targetSection | Récupère la section adresse d’une cible thunk. |
IDiaSymbol::get_targetVirtualAddress | Récupère l’adresse virtuelle (VA) d’une cible thunk. |
IDiaSymbol::get_textureSlot | Récupère l’emplacement de texture. |
IDiaSymbol::get_thisAdjust | Récupère l’ajusteur logique this pour la méthode. |
IDiaSymbol::get_thunkOrdinal | Récupère le type thunk d’une fonction. |
IDiaSymbol::get_timeStamp | Récupère le timestamp du fichier exécutable sous-jacent. |
IDiaSymbol::get_token | Récupère le jeton de métadonnées d’une fonction ou d’une variable managée. |
IDiaSymbol::get_type | Récupère une référence à la signature de fonction. |
IDiaSymbol::get_typeId | Récupère l’identificateur de type du symbole. |
IDiaSymbol::get_types | Récupère un tableau de valeurs de type spécifiques au compilateur pour ce symbole. |
IDiaSymbol::get_typeIds | Récupère un tableau de valeurs d’identificateur de type spécifiques au compilateur pour ce symbole. |
IDiaSymbol::get_uavSlot | Récupère l’emplacement uav. |
IDiaSymbol::get_udtKind | Récupère la variété d’un type défini par l’utilisateur (UDT). |
IDiaSymbol::get_unalignedType | Récupère un indicateur signalant si le type de données défini par l’utilisateur n’est pas aligné. |
IDiaSymbol::get_undecoratedName | Récupère le nom non décoré d’un nom C++ décoré ou de liaison. |
IDiaSymbol::get_undecoratedNameEx | Extension de la méthode get_undecoratedName qui récupère le nom non décodé en fonction de la valeur d’un champ d’extension. |
IDiaSymbol::get_unmodifiedTypeId | Récupère l’ID du type d’origine (non modifié). |
IDiaSymbol::get_upperBound | Récupère la limite supérieure d’une dimension de tableau FORTRAN. |
IDiaSymbol::get_upperBoundId | Récupère l’identificateur de symbole de la limite supérieure d’une dimension de tableau FORTRAN. |
IDiaSymbol::get_value | Récupère la valeur d’une constante. |
IDiaSymbol::get_virtual | Récupère un indicateur signalant si la fonction est virtuelle. |
IDiaSymbol::get_virtualAddress | Récupère l’adresse virtuelle (VA) de l’emplacement. |
IDiaSymbol::get_virtualBaseClass | Récupère un indicateur signalant si le type de données défini par l’utilisateur est une classe de base virtuelle. |
IDiaSymbol::get_virtualBaseDispIndex | Récupère l’index dans la table de déplacement de base virtuelle. |
IDiaSymbol::get_virtualBaseOffset | Récupère le décalage dans la table de fonctions virtuelles d’une fonction virtuelle. |
IDiaSymbol::get_virtualBasePointerOffset | Récupère le décalage du pointeur de base virtuel. |
IDiaSymbol::get_virtualBaseTableType | Récupère le type d’un pointeur de table de base virtuelle. |
IDiaSymbol::get_virtualTableShape | Récupère l’interface de symboles du type de la table virtuelle pour un type défini par l’utilisateur. |
IDiaSymbol::get_virtualTableShapeId | Récupère l’identificateur de forme de table virtuelle du symbole. |
IDiaSymbol::get_volatileType | Récupère un indicateur signalant si le type de données défini par l’utilisateur est volatile. |
Remarques
Remarques pour les appelants
Obtenez cette interface en appelant l’une des méthodes suivantes :
Exemple
Cet exemple montre comment afficher les variables locales d’une fonction à une adresse virtuelle relative donnée. Il montre également comment les symboles de différents types sont liés les uns aux autres.
Notes
CDiaBSTR
est une classe qui encapsule un BSTR
et qui gère automatiquement la libération de la chaîne quand l’instanciation sort de l’étendue.
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." );
}
};
}
Configuration requise
Header:
Dia2.h
Bibliothèque : diaguids.lib
DLL : msdia80.dll