Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

252 lines
5.3 KiB

enum DESCRIPTOR_TYPE
{
TYPE_FILE,
TYPE_INTERFACE,
TYPE_EVAL,
TYPE_ENUM,
TYPE_CLASS,
TYPE_IMPLEMENTS,
TYPE_PROPERTY,
TYPE_METHOD,
TYPE_METHOD_ARG,
TYPE_REFPROP,
TYPE_REFMETHOD,
TYPE_EVENT,
TYPE_IMPORT,
TYPE_TEAROFF,
TYPE_TEAROFFMETHOD,
TYPE_STRUCT,
TYPE_STRUCTMEMBER,
NUM_DESCRIPTOR_TYPES
};
enum
{
FILE_TAG
};
enum
{
INTERFACE_NAME,
INTERFACE_SUPER,
INTERFACE_GUID,
INTERFACE_ABSTRACT,
INTERFACE_CUSTOM,
INTERFACE_NOPRIMARYTEAROFF
};
enum
{
EVAL_NAME,
EVAL_VALUE,
EVAL_STRING,
EVAL_ODLNAME
};
enum
{
ENUM_NAME,
ENUM_PREFIX,
ENUM_GUID,
ENUM_HIDDEN
};
enum
{
CLASS_NAME,
CLASS_SUPER,
CLASS_INTERFACE,
CLASS_GUID,
CLASS_ABSTRACT,
CLASS_COCLASSNAME,
CLASS_EVENTS,
CLASS_CASCADEDMETHODS,
CLASS_NOAAMETHODS,
CLASS_KEEPNOPERSIST,
CLASS_NOCPC,
CLASS_CONTROL,
CLASS_MONDOGUID,
CLASS_NONPRIMARYEVENTS1,
CLASS_NONPRIMARYEVENTS2,
CLASS_NONPRIMARYEVENTS3,
CLASS_NONPRIMARYEVENTS4,
};
enum
{
IMPLEMENTS_NAME,
IMPLEMENTS_GUID
};
enum
{
PROPERTY_NAME,
PROPERTY_ATYPE,
PROPERTY_DISPID,
PROPERTY_TYPE,
PROPERTY_MEMBER,
PROPERTY_GET,
PROPERTY_SET,
PROPERTY_BINDABLE,
PROPERTY_DISPLAYBIND,
PROPERTY_DWFLAGS,
PROPERTY_ABSTRACT,
PROPERTY_PPFLAGS,
PROPERTY_NOTPRESENTDEFAULT,
PROPERTY_NOTSETDEFAULT,
PROPERTY_MIN,
PROPERTY_MAX,
PROPERTY_GETSETMETHODS,
PROPERTY_HELP,
PROPERTY_VT,
PROPERTY_CAA,
PROPERTY_OBJECT,
PROPERTY_INDEX,
PROPERTY_INDEX1,
PROPERTY_INDEXTYPE,
PROPERTY_INDEXTYPE1,
PROPERTY_SZATTRIBUTE,
PROPERTY_HIDDEN,
PROPERTY_NONBROWSABLE,
PROPERTY_RESTRICTED,
PROPERTY_SUBOBJECT,
PROPERTY_PARAM1,
PROPERTY_PRECALLFUNCTION,
PROPERTY_ENUMREF,
PROPERTY_VIRTUAL,
PROPERTY_GETAA,
PROPERTY_SETAAHR,
PROPERTY_SOURCE,
PROPERTY_MINOUT,
PROPERTY_CASCADED,
PROPERTY_UPDATECOLLECTION,
PROPERTY_SCRIPTLET,
PROPERTY_CLEARCACHES,
PROPERTY_STYLEPROP,
PROPERTY_DONTUSENOTASSIGN,
PROPERTY_RESIZE, // parent calls calcsize
PROPERTY_REMEASURE, // remeasure your contents
PROPERTY_REMEASUREALL, // remeasure self and all nested layouts
PROPERTY_SITEREDRAW,
PROPERTY_SETDESIGNMODE, // Writeable only at Design time
PROPERTY_INVALIDASNOASSIGN,
PROPERTY_NOTPRESENTASDEFAULT,
PROPERTY_THUNKCONTEXT,
PROPERTY_THUNKNODECONTEXT,
PROPERTY_BASEIMPLEMENTATION,
PROPERTY_NOPERSIST, // replaces PPFLAGS:PROPPARAM_NOPERSIST
PROPERTY_INTERNAL, // Don't include in propertydesc array
PROPERTY_REFDTOCLASS, // Internal to remember the class that the refprop is to.
PROPERTY_MAXSTRLEN, // Used in vtable computation.
PROPERTY_NOPROPDESC, // indicates this property doesn't participate in the mondo
PROPERTY_EXCLUSIVETOSCRIPT, // expose this property on primary interface if any name clashes in
// other supported interfaces.
PROPERTY_SZINTERFACEEXPOSE, // Expose this method name for the interface should be used in
// conjunction with nopropdesc.
PROPERTY_DATAEVENT, // non-abstract property calls put_DataEvent instead of put_Variant
PROPERTY_ACCESSIBILITYSTATE,// the property is an accessibility state.
PROPERTY_CUSTOMENUM // enum property - becomes a string treated as an url
};
enum
{
METHODARG_NAME, // Never used
METHODARG_ATYPE,
METHODARG_TYPE,
METHODARG_IN,
METHODARG_OUT,
METHODARG_ARGNAME,
METHODARG_RETURNVALUE,
METHODARG_DEFAULTVALUE,
METHODARG_OPTIONAL
};
enum
{
METHOD_NAME, // Name of the Method
METHOD_RETURNTYPE,
METHOD_DISPID,
METHOD_ABSTRACT,
METHOD_VIRTUAL,
// This slot is used internaly to store the class that was refproped.
// Whether the method is refd to a class or not - need this for
// DISPID Generation. Also, for vtable computation.
METHOD_REFDTOCLASS,
METHOD_VARARG,
METHOD_CANCELABLE,
METHOD_BUBBLING,
METHOD_RESTRICTED,
METHOD_THUNKCONTEXT,
METHOD_THUNKNODECONTEXT,
METHOD_MAXSTRLEN,
METHOD_NOPROPDESC, // indicates this method isn't exposed in DISPInterface or primary interface.
METHOD_EXCLUSIVETOSCRIPT, // expose this property on primary interface if any name clashes in
// other supported interfaces.
METHOD_SZINTERFACEEXPOSE // Expose this method name for the interface should be used in
// conjunction with nopropdesc.
};
enum
{
REFPROP_NAME, // Never used
REFPROP_CLASSNAME,
REFPROP_PROPERTYNAME
};
enum
{
REFMETHOD_NAME, // Never used
REFMETHOD_CLASSNAME,
REFMETHOD_METHODNAME
};
enum
{
EVENT_NAME,
EVENT_SUPER,
EVENT_GUID,
EVENT_ABSTRACT
};
enum
{
IMPORT_NAME
};
enum
{
TEAROFF_NAME,
TEAROFF_INTERFACE,
TEAROFF_BASEIMPL
};
enum
{
TEAROFFMETHOD_NAME,
TEAROFFMETHOD_MAPTO
};
enum
{
STRUCT_NAME,
};
enum
{
STRUCTMEMBER_NAME,
STRUCTMEMBER_TYPE
};
extern AssociateDataType DataTypes[];
extern Associate vt[];
extern TokenDescriptor *AllDescriptors[ NUM_DESCRIPTOR_TYPES ];
extern TokenDescriptor MethodArgDescriptor;
extern CCachedAttrArrayInfo rgCachedAttrArrayInfo[];