Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Describes various attributes for an IDebugProperty2 or an IDebugReference2 interface. Member of the DEBUG_PROPERTY_INFO structure.
#define DBG_ATTRIB_NONE                 0x0000000000000000,
#define DBG_ATTRIB_ALL                  0x00000000ffffffff,
// Attributes about the object itself
#define DBG_ATTRIB_OBJ_IS_EXPANDABLE    0x0000000000000001,
#define DBG_ATTRIB_OBJ_HAS_ID           0x0000000000000002,
#define DBG_ATTRIB_OBJ_CAN_HAVE_ID      0x0000000000000004,
// Attributes about the value of the object
#define DBG_ATTRIB_VALUE_READONLY       0x0000000000000010,
#define DBG_ATTRIB_VALUE_ERROR          0x0000000000000020,
#define DBG_ATTRIB_VALUE_SIDE_EFFECT    0x0000000000000040,
#define DBG_ATTRIB_OVERLOADED_CONTAINER 0x0000000000000080,
#define DBG_ATTRIB_VALUE_BOOLEAN        0x0000000000000100,
#define DBG_ATTRIB_VALUE_BOOLEAN_TRUE   0x0000000000000200,
#define DBG_ATTRIB_VALUE_INVALID        0x0000000000000400,
#define DBG_ATTRIB_VALUE_NAT            0x0000000000000800,
#define DBG_ATTRIB_VALUE_AUTOEXPANDED   0x0000000000001000,
#define DBG_ATTRIB_VALUE_TIMEOUT        0x0000000000002000,
#define DBG_ATTRIB_VALUE_RAW_STRING     0x0000000000004000,
#define DBG_ATTRIB_VALUE_CUSTOM_VIEWER  0x0000000000008000,
// Attributes about field access types for the object
#define DBG_ATTRIB_ACCESS_NONE          0x0000000000010000,
#define DBG_ATTRIB_ACCESS_PUBLIC        0x0000000000020000,
#define DBG_ATTRIB_ACCESS_PRIVATE       0x0000000000040000,
#define DBG_ATTRIB_ACCESS_PROTECTED     0x0000000000080000,
#define DBG_ATTRIB_ACCESS_FINAL         0x0000000000100000,
#define DBG_ATTRIB_ACCESS_ALL           0x00000000001f0000,
// Attributes for the storage types of the object
#define DBG_ATTRIB_STORAGE_NONE         0x0000000001000000,
#define DBG_ATTRIB_STORAGE_GLOBAL       0x0000000002000000,
#define DBG_ATTRIB_STORAGE_STATIC       0x0000000004000000,
#define DBG_ATTRIB_STORAGE_REGISTER     0x0000000008000000,
#define DBG_ATTRIB_STORAGE_ALL          0x000000000f000000,
// Attributes for the type modifiers on the object
#define DBG_ATTRIB_TYPE_NONE            0x0000000100000000,
#define DBG_ATTRIB_TYPE_VIRTUAL         0x0000000200000000,
#define DBG_ATTRIB_TYPE_CONSTANT        0x0000000400000000,
#define DBG_ATTRIB_TYPE_SYNCHRONIZED    0x0000000800000000,
#define DBG_ATTRIB_TYPE_VOLATILE        0x0000001000000000,
#define DBG_ATTRIB_TYPE_ALL             0x0000001f00000000,
// Attributes that describe the type of object
#define DBG_ATTRIB_DATA                 0x0000010000000000,
#define DBG_ATTRIB_METHOD               0x0000020000000000,
#define DBG_ATTRIB_PROPERTY             0x0000040000000000,
#define DBG_ATTRIB_CLASS                0x0000080000000000,
#define DBG_ATTRIB_BASECLASS            0x0000100000000000,
#define DBG_ATTRIB_INTERFACE            0x0000200000000000,
#define DBG_ATTRIB_INNERCLASS           0x0000400000000000,
#define DBG_ATTRIB_MOSTDERIVED          0x0000800000000000,
#define DBG_ATTRIB_CHILD_ALL            0x0000ff0000000000,
// Miscellaneous attributes
#define DBG_ATTRIB_MULTI_CUSTOM_VIEWERS 0x0001000000000000
typedef UINT64 DBG_ATTRIB_FLAGS;
public const int DBG_ATTRIB_NONE                 = 0x0000000000000000,
public const int DBG_ATTRIB_ALL                  = 0x00000000ffffffff,
// Attributes about the object itself
public const int DBG_ATTRIB_OBJ_IS_EXPANDABLE    = 0x0000000000000001,
public const int DBG_ATTRIB_OBJ_HAS_ID           = 0x0000000000000002,
public const int DBG_ATTRIB_OBJ_CAN_HAVE_ID      = 0x0000000000000004,
// Attributes about the value of the object
public const int DBG_ATTRIB_VALUE_READONLY       = 0x0000000000000010,
public const int DBG_ATTRIB_VALUE_ERROR          = 0x0000000000000020,
public const int DBG_ATTRIB_VALUE_SIDE_EFFECT    = 0x0000000000000040,
public const int DBG_ATTRIB_OVERLOADED_CONTAINER = 0x0000000000000080,
public const int DBG_ATTRIB_VALUE_BOOLEAN        = 0x0000000000000100,
public const int DBG_ATTRIB_VALUE_BOOLEAN_TRUE   = 0x0000000000000200,
public const int DBG_ATTRIB_VALUE_INVALID        = 0x0000000000000400,
public const int DBG_ATTRIB_VALUE_NAT            = 0x0000000000000800,
public const int DBG_ATTRIB_VALUE_AUTOEXPANDED   = 0x0000000000001000,
public const int DBG_ATTRIB_VALUE_TIMEOUT        = 0x0000000000002000,
public const int DBG_ATTRIB_VALUE_RAW_STRING     = 0x0000000000004000,
public const int DBG_ATTRIB_VALUE_CUSTOM_VIEWER  = 0x0000000000008000,
// Attributes about field access types for the object
public const int DBG_ATTRIB_ACCESS_NONE          = 0x0000000000010000,
public const int DBG_ATTRIB_ACCESS_PUBLIC        = 0x0000000000020000,
public const int DBG_ATTRIB_ACCESS_PRIVATE       = 0x0000000000040000,
public const int DBG_ATTRIB_ACCESS_PROTECTED     = 0x0000000000080000,
public const int DBG_ATTRIB_ACCESS_FINAL         = 0x0000000000100000,
public const int DBG_ATTRIB_ACCESS_ALL           = 0x00000000001f0000,
// Attributes for the storage types of the object
public const int DBG_ATTRIB_STORAGE_NONE         = 0x0000000001000000,
public const int DBG_ATTRIB_STORAGE_GLOBAL       = 0x0000000002000000,
public const int DBG_ATTRIB_STORAGE_STATIC       = 0x0000000004000000,
public const int DBG_ATTRIB_STORAGE_REGISTER     = 0x0000000008000000,
public const int DBG_ATTRIB_STORAGE_ALL          = 0x000000000f000000,
// Attributes for the type modifiers on the object
public const int DBG_ATTRIB_TYPE_NONE            = 0x0000000100000000,
public const int DBG_ATTRIB_TYPE_VIRTUAL         = 0x0000000200000000,
public const int DBG_ATTRIB_TYPE_CONSTANT        = 0x0000000400000000,
public const int DBG_ATTRIB_TYPE_SYNCHRONIZED    = 0x0000000800000000,
public const int DBG_ATTRIB_TYPE_VOLATILE        = 0x0000001000000000,
public const int DBG_ATTRIB_TYPE_ALL             = 0x0000001f00000000,
// Attributes that describe the type of object
public const int DBG_ATTRIB_DATA                 = 0x0000010000000000,
public const int DBG_ATTRIB_METHOD               = 0x0000020000000000,
public const int DBG_ATTRIB_PROPERTY             = 0x0000040000000000,
public const int DBG_ATTRIB_CLASS                = 0x0000080000000000,
public const int DBG_ATTRIB_BASECLASS            = 0x0000100000000000,
public const int DBG_ATTRIB_INTERFACE            = 0x0000200000000000,
public const int DBG_ATTRIB_INNERCLASS           = 0x0000400000000000,
public const int DBG_ATTRIB_MOSTDERIVED          = 0x0000800000000000,
public const int DBG_ATTRIB_CHILD_ALL            = 0x0000ff0000000000,
// Miscellaneous attributes
public const int DBG_ATTRIB_MULTI_CUSTOM_VIEWERS = 0x0001000000000000
Members
- DBG_ATTRIB_NONE 
 Indicates no attributes.
- DBG_ATTRIB_ALL 
 Indicates all attributes.
- DBG_ATTRIB_OBJ_IS_EXPANDABLE 
 Indicates that the reference or property has children.
- DBG_ATTRIB_OBJ_HAS_ID 
 Indicates that an ID for this object has been created.
- DBG_ATTRIB_OBJ_CAN_HAVE_ID 
 Indicates that an ID for this object can be created.
- DBG_ATTRIB_VALUE_READONLY 
 Indicates that the value is read-only.
- DBG_ATTRIB_VALUE_ERROR 
 Indicates that the value is an error.
- DBG_ATTRIB_VALUE_SIDE_EFFECT 
 Indicates that the evaluation had a side effect.
- DBG_ATTRIB_OVERLOADED_CONTAINER 
 Indicates that this property is really a container of overloads.
- DBG_ATTRIB_VALUE_BOOLEAN 
 Indicates that the value in DEBUG_PROPERTY_INFO::bstrValue is Boolean.
- DBG_ATTRIB_VALUE_BOOLEAN_TRUE 
 Indicates that the value in DEBUG_PROPERTY_INFO::bstrValue is Boolean and TRUE.
- DBG_ATTRIB_VALUE_INVALID 
 Indicates that the value in DEBUG_PROPERTY_INFO::bstrValue is not valid.
- DBG_ATTRIB_VALUE_NAT 
 Indicates that the value in DEBUG_PROPERTY_INFO::bstrValue is "not a thing" (NAT). NAT describes a register flag in Intel 64-bit processors that indicates deferred speculative exceptions.
- DBG_ATTRIB_VALUE_AUTOEXPANDED 
 Indicates that the value in DEBUG_PROPERTY_INFO::bstrValue has possibly been auto-expanded.
- DBG_ATTRIB_VALUE_TIMEOUT 
 Indicates that an evaluation has timed-out.
- DBG_ATTRIB_VALUE_RAW_STRING 
 Indicates that the value in DEBUG_PROPERTY_INFO::bstrValue can be represented by a raw string.
- DBG_ATTRIB_VALUE_CUSTOM_VIEWER 
 Indicates that this property has at least one custom viewer associated with it.
- DBG_ATTRIB_ACCESS_NONE 
 Indicates an object that has neither public, private, nor protected type access.
- DBG_ATTRIB_ACCESS_PUBLIC 
 Indicates an object that has public access.
- DBG_ATTRIB_ACCESS_PRIVATE 
 Indicates an object that has private access.
- DBG_ATTRIB_ACCESS_PROTECTED 
 Indicates an object that has protected access.
- DBG_ATTRIB_ACCESS_FINAL 
 Indicates an object that has final access.
- DBG_ATTRIB_ACCESS_ALL 
 Mask to extract the access attributes from DBG_ATTRIB_FLAGS.
- DBG_ATTRIB_STORAGE_NONE 
 Indicates that there is no storage type specified.
- DBG_ATTRIB_STORAGE_GLOBAL 
 Indicates global storage.
- DBG_ATTRIB_STORAGE_STATIC 
 Indicates static storage.
- DBG_ATTRIB_STORAGE_REGISTER 
 Indicates storage in the register.
- DBG_ATTRIB_STORAGE_ALL 
 Mask to extract the storage attributes from DBG_ATTRIB_FLAGS.
- DBG_ATTRIB_TYPE_NONE 
 Indicates that there is no type modifier.
- DBG_ATTRIB_TYPE_VIRTUAL 
 Indicates that the type of object is virtual.
- DBG_ATTRIB_TYPE_CONSTANT 
 Indicates that the type of object is constant.
- DBG_ATTRIB_TYPE_SYNCHRONIZED 
 Indicates that the type of object is synchronized.
- DBG_ATTRIB_TYPE_VOLATILE 
 Indicates that the type of object is volatile.
- DBG_ATTRIB_TYPE_ALL 
 Mask to extract the type attributes from DBG_ATTRIB_FLAGS.
- DBG_ATTRIB_DATA 
 Indicates that this object is a data field.
- DBG_ATTRIB_METHOD 
 Indicates that this object is a method.
- DBG_ATTRIB_PROPERTY 
 Indicates that this object is a property.
- DBG_ATTRIB_CLASS 
 Indicates that this object is a class.
- DBG_ATTRIB_BASECLASS 
 Indicates that this object is a base class.
- DBG_ATTRIB_INTERFACE 
 Indicates that this object is an interface.
- DBG_ATTRIB_INNERCLASS 
 Indicates that this object is an inner class.
- DBG_ATTRIB_MOSTDERIVED 
 Indicates that this object is ‘most-derived’. The term "most-derived" means the actual type of the object, and not the type of its reference.
- DBG_ATTRIB_CHILD_ALL 
 Indicates a mask of DBG_ATTRIB_DATA through DBG_ATTRIB_MOSTDERIVED.
- DBG_ATTRIB_MULTI_CUSTOM_VIEWERS 
 Indicates that the object has multiple custom viewers associated with it.
Remarks
Note
The values in this enumeration are not actually defined in the assembly for C#. Instead, you must copy the definitions to your source file.
These flags are also used to filter children of an object, for example, when passed as an argument to IDebugProperty2::EnumChildren. The values may be combined with a bitwise OR.
The DBG_ATTRIB_VALUE_CUSTOM_VIEWER flag is an indication to Visual Studio to obtain the IDebugProperty3 interface from the IDebugProperty2 interface and call IDebugProperty3::GetCustomViewerList for a list of custom viewers.
Requirements
Header: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll