FIELD_KIND

Określa rodzaj pola zawartego w obiekcie IDebugField .

Składnia

public enum enum_FIELD_KIND {
    FIELD_KIND_NONE       = 0x00000000,

    // Type of field
    FIELD_KIND_TYPE       = 0x00000001,
    FIELD_KIND_SYMBOL     = 0x00000002,

    // Storage type of the field
    FIELD_TYPE_PRIMITIVE  = 0x00000010,
    FIELD_TYPE_STRUCT     = 0x00000020,
    FIELD_TYPE_CLASS      = 0x00000040,
    FIELD_TYPE_INTERFACE  = 0x00000080,
    FIELD_TYPE_UNION      = 0x00000100,
    FIELD_TYPE_ARRAY      = 0x00000200,
    FIELD_TYPE_METHOD     = 0x00000400,
    FIELD_TYPE_BLOCK      = 0x00000800,
    FIELD_TYPE_POINTER    = 0x00001000,
    FIELD_TYPE_ENUM       = 0x00002000,
    FIELD_TYPE_LABEL      = 0x00004000,
    FIELD_TYPE_TYPEDEF    = 0x00008000,
    FIELD_TYPE_BITFIELD   = 0x00010000,
    FIELD_TYPE_NAMESPACE  = 0x00020000,
    FIELD_TYPE_MODULE     = 0x00040000,
    FIELD_TYPE_DYNAMIC    = 0x00080000,
    FIELD_TYPE_PROP       = 0x00100000,
    FIELD_TYPE_INNERCLASS = 0x00200000,
    FIELD_TYPE_REFERENCE  = 0x00400000,
    FIELD_TYPE_EXTENDED   = 0x00800000,

    // Specific information about symbols
    FIELD_SYM_MEMBER      = 0x01000000,
    FIELD_SYM_LOCAL       = 0x02000000,
    FIELD_SYM_PARAM       = 0x04000000,
    FIELD_SYM_THIS        = 0x08000000,
    FIELD_SYM_GLOBAL      = 0x10000000,
    FIELD_SYM_PROP_GETTER = 0x20000000,
    FIELD_SYM_PROP_SETTER = 0x40000000,
    FIELD_SYM_EXTENDED    = 0x80000000,

    FIELD_KIND_MASK       = 0x0000000f,
    FIELD_TYPE_MASK       = 0x00fffff0,
    FIELD_SYM_MASK        = 0xff000000,

    FIELD_KIND_ALL        = 0xffffffff
};

Pola

FIELD_KIND_TYPE
Wskazuje, że pole jest tylko typem.

FIELD_KIND_SYMBOL
Wskazuje, że pole jest symbolem z typem, nazwą i innymi informacjami.

FIELD_TYPE_PRIMITIVE
Wskazuje, że pole jest typem danych pierwotnych.

FIELD_TYPE_STRUCT
Wskazuje, że pole jest strukturą.

FIELD_TYPE_CLASS
Wskazuje, że pole jest klasą.

FIELD_TYPE_INTERFACE
Wskazuje, że pole jest interfejsem.

FIELD_TYPE_UNION
Wskazuje, że pole jest unią.

FIELD_TYPE_ARRAY
Wskazuje, że pole jest tablicą.

FIELD_TYPE_METHOD
Wskazuje, że pole jest metodą.

FIELD_TYPE_BLOCK
Wskazuje, że pole jest blokiem.

FIELD_TYPE_POINTER
Wskazuje, że pole jest wskaźnikiem.

FIELD_TYPE_ENUM
Wskazuje, że pole jest wyliczonym typem danych.

FIELD_TYPE_LABEL
Wskazuje, że pole jest etykietą.

FIELD_TYPE_TYPEDEF
Wskazuje, że pole jest typedef.

FIELD_TYPE_BITFIELD
Wskazuje, że pole jest polem bitowym.

FIELD_TYPE_NAMESPACE
Wskazuje, że pole jest przestrzenią nazw.

FIELD_TYPE_MODULE
Wskazuje, że pole jest modułem.

FIELD_TYPE_DYNAMIC
Wskazuje, że pole jest dynamiczne.

FIELD_TYPE_PROP
Wskazuje, że pole jest właściwością.

FIELD_TYPE_INNERCLASS
Wskazuje, że pole jest klasą wewnętrzną.

FIELD_TYPE_REFERENCE
Wskazuje, że pole jest odwołaniem.

FIELD_TYPE_EXTENDED
Zarezerwowane do użytku w przyszłości.

FIELD_SYM_MEMBER
Wskazuje, że pole jest elementem członkowskim.

FIELD_SYM_LOCAL
Wskazuje, że pole jest lokalne.

FIELD_SYM_PARAMETER
Wskazuje, że pole jest parametrem.

FIELD_SYM_THIS
Wskazuje, że pole jest wskaźnikiem "this".

FIELD_SYM_GLOBAL
Wskazuje, że pole jest globalne.

FIELD_SYM_PROP_GETTER
Wskazuje, że pole pobiera właściwości.

FIELD_SYM_PROP_SETTER
Wskazuje, że pole ustawia właściwości.

FIELD_SYM_EXTENDED
Zarezerwowane do użytku w przyszłości.

FIELD_KIND_MASK
Wskazuje maskę dla rodzajów pól.

FIELD_TYPE_MASK
Wskazuje maskę dla typów pól.

FIELD_SYM_MASK
Wskazuje maskę dla informacji o symbolach.

Uwagi

Zwrócony z wywołania metody GetKind .

W zależności od rodzaju pola można wywołać interfejs QueryInterface w interfejsie IDebugField , aby uzyskać bardziej szczegółową formę interfejsu. Jeśli na przykład polecenie GetKind zwróci FIELD_TYPE_METHODwartość , możesz wywołać QueryInterface metodę IDebugField , aby uzyskać interfejs IDebugMethodField .

Wymagania

Nagłówek: sh.h

Przestrzeń nazw: Microsoft.VisualStudio.Debugger.Interop

Zestaw: Microsoft.VisualStudio.Debugger.Interop.dll

Zobacz też