次の方法で共有


SymTagEnum

シンボルの種類を指定します。

構文

enum SymTagEnum {
    SymTagNull,
    SymTagExe,
    SymTagCompiland,
    SymTagCompilandDetails,
    SymTagCompilandEnv,
    SymTagFunction,
    SymTagBlock,
    SymTagData,
    SymTagAnnotation,
    SymTagLabel,
    SymTagPublicSymbol,
    SymTagUDT,
    SymTagEnum,
    SymTagFunctionType,
    SymTagPointerType,
    SymTagArrayType,
    SymTagBaseType,
    SymTagTypedef,
    SymTagBaseClass,
    SymTagFriend,
    SymTagFunctionArgType,
    SymTagFuncDebugStart,
    SymTagFuncDebugEnd,
    SymTagUsingNamespace,
    SymTagVTableShape,
    SymTagVTable,
    SymTagCustom,
    SymTagThunk,
    SymTagCustomType,
    SymTagManagedType,
    SymTagDimension,
    SymTagCallSite,
    SymTagInlineSite,
    SymTagBaseInterface,
    SymTagVectorType,
    SymTagMatrixType,
    SymTagHLSLType,
    SymTagCaller,
    SymTagCallee,
    SymTagExport,
    SymTagHeapAllocationSite,
    SymTagCoffGroup,
    SymTagInlinee,
    SymTagTaggedUnionCase,
};

要素

要素 説明
SymTagNull シンボルに型がないことを示します。
SymTagExe シンボルが.exe ファイルであることを示します。
シンボル ストアごとに 1 つの SymTagExe シンボルのみが存在します。
これはグローバル スコープとして機能し、字句の親を持ちません。
SymTagCompiland シンボル ストアの各コンパイル単位コンポーネントのコンパイル単位シンボルを示します。
ネイティブ アプリケーションの場合、 SymTagCompiland シンボルは、イメージにリンクされているオブジェクト ファイルに対応します。 一部の種類の Microsoft Intermediate Language (MSIL) イメージには、クラスごとに 1 つのコンパイル単位があります。
SymTagCompilandDetails シンボルにコンパイル単位の拡張属性が含まれていることを示します。
これらのプロパティを取得するには、コンパイルとシンボルの読み込みが必要になる場合があります。
SymTagCompilandEnv シンボルがコンパイル単位に定義されている環境文字列であることを示します。
SymTagFunction シンボルが関数であることを示します。
SymTagBlock シンボルが入れ子になったブロックであることを示します。
SymTagData シンボルがデータであることを示します。
SymTagAnnotation シンボルがコード注釈用であることを示します。
このシンボルの子は、定数データ文字列 (SymTagDataLocIsConstant、および DataIsConstant) です。
ほとんどのクライアントは、このシンボルを無視します。
SymTagLabel シンボルがラベルであることを示します。
SymTagPublicSymbol シンボルがパブリック シンボルであることを示します。 ネイティブ アプリケーションの場合、このシンボルは、イメージのリンク時に検出された COFF 外部シンボルです。
SymTagUDT シンボルがユーザー定義型 (構造体、クラス、または共用体) であることを示します。
SymTagEnum シンボルが列挙型であることを示します。
SymTagFunctionType シンボルが関数シグネチャ型であることを示します。
SymTagPointerType シンボルがポインター型であることを示します。
SymTagArrayType シンボルが配列型であることを示します。
SymTagBaseType シンボルが基本型であることを示します。
SymTagTypedef シンボルが別の型のエイリアスである typedef であることを示します。
SymTagBaseClass シンボルがユーザー定義型の基底クラスであることを示します。
SymTagFriend シンボルがユーザー定義型のフレンドであることを示します。
SymTagFunctionArgType シンボルが関数引数であることを示します。
SymTagFuncDebugStart シンボルが関数のプロローグ コードの終了位置であることを示します。
SymTagFuncDebugEnd シンボルが関数のエピローグ コードの開始位置であることを示します。
SymTagUsingNamespace シンボルが現在のスコープでアクティブな名前空間名であることを示します。
SymTagVTableShape シンボルが仮想テーブルの説明であることを示します。
SymTagVTable シンボルが仮想テーブル ポインターであることを示します。
SymTagCustom シンボルがカスタム シンボルであることを示します。
Microsoft Debug Interface Access (DIA) SDK では、これらのシンボルをさらに解釈することはできません。
SymTagThunk シンボルが、16 ビットコードと 32 ビット コードの間でデータを共有するために使用されるサンクであることを示します。
SymTagCustomType シンボルがカスタム コンパイラ シンボルであることを示します。
SymTagManagedType シンボルがメタデータにあることを示します。
SymTagDimension シンボルが FORTRAN 多次元配列であることを示します。
SymTagCallSite シンボルが呼び出しサイトを表していることを示します。
SymTagInlineSite シンボルがインライン サイトを表していることを示します。
SymTagBaseInterface シンボルが基本インターフェイスであることを示します。
SymTagVectorType シンボルがベクター型であることを示します。
SymTagMatrixType シンボルがマトリックス型であることを示します。
SymTagHLSLType シンボルが高レベル シェーダー言語の種類であることを示します。
SymTagCaller シンボルが、プロファイルガイド付き最適化 (PGO) 呼び出し元情報を表していることを示します。
SymTagCallee シンボルが PGO 呼び出し先情報を表していることを示します。
SymTagExport シンボルが DLL からのエクスポートであることを示します。
SymTagHeapAllocationSite シンボルがヒープ割り当てサイト (たとえば、 operator newの呼び出し) を表していることを示します。
SymTagCoffGroup シンボルが COFF グループであることを示します。
SymTagInlinee シンボルがインライン サイトのインラインを表していることを示します ( SymTagInlineSiteを参照)。
SymTagTaggedUnionCase シンボルがタグ付き共用体 (Rust の列挙型など) であることを示します

解説

デバッグ ファイル内のすべてのシンボルには、シンボルの種類を指定する識別タグがあります。

IDiaSymbol::get_symTag メソッドは、この列挙体から値を返します。

この列挙の値は、検索のスコープを特定のシンボルの種類に制限するために、次のメソッドに渡されます。

要件

ヘッダー: cvconst.h

こちらもご覧ください