2.2.16 TYPEFLAGS Type Feature Constants

The TYPEFLAGS enumeration values are used in the wTypeFlags field of a TYPEATTR to specify the features of a type, as specified in section 2.2.44. They also are used in the pTypeFlags parameter of the ITypeInfo2::GetTypeFlags method.

The function invocation constants are defined in the TYPEFLAGS enumeration.

 typedef  enum tagTYPEFLAGS
 {
   TYPEFLAG_FAPPOBJECT = 0x1,
   TYPEFLAG_FCANCREATE = 0x2,
   TYPEFLAG_FLICENSED = 0x4,
   TYPEFLAG_FPREDECLID = 0x8,
   TYPEFLAG_FHIDDEN = 0x10,
   TYPEFLAG_FCONTROL = 0x20,
   TYPEFLAG_FDUAL = 0x40,
   TYPEFLAG_FNONEXTENSIBLE = 0x80,
   TYPEFLAG_FOLEAUTOMATION = 0x100,
   TYPEFLAG_FRESTRICTED = 0x200,
   TYPEFLAG_FAGGREGATABLE = 0x400,
   TYPEFLAG_FREPLACEABLE = 0x800,
   TYPEFLAG_FDISPATCHABLE = 0x1000,
   TYPEFLAG_FPROXY = 0x4000
 } TYPEFLAGS;

TYPEFLAG_FAPPOBJECT:  MUST be set if the type was declared with the [appobject] attribute (see section 2.2.49.8).

TYPEFLAG_FCANCREATE:  MUST NOT be set if the type was declared with the [noncreatable] attribute (see section 2.2.49.8). Otherwise, MUST be set.

TYPEFLAG_FLICENSED:  MUST be set if the type was declared with the [licensed] attribute (see section 2.2.49.8).

TYPEFLAG_FPREDECLID:  MUST be set if the type was declared with the [predeclid] or [appobject] attributes (see section 2.2.49.8).

TYPEFLAG_FHIDDEN:  MUST be set if the type was declared with the [hidden] attribute (see section 2.2.49.8).

TYPEFLAG_FCONTROL:  MUST be set if the type was declared with the [control] attribute (see section 2.2.49.8).

TYPEFLAG_FDUAL:  MUST be set if the type was declared with the [dual] attribute (see section 2.2.49.4.2).

TYPEFLAG_FNONEXTENSIBLE:  MUST be set if the type was declared with the [nonextensible] attribute (see section 2.2.49.4).

TYPEFLAG_FOLEAUTOMATION:  MUST be set if the type is a DCOM interface that was declared with the [oleautomation] or [dual] attributes (see section 2.2.49.4). MUST NOT be set if the type is a dispinterface.

TYPEFLAG_FRESTRICTED:  MUST be set if the type was declared with the [restricted] attribute (see section 2.2.49.5.1).

TYPEFLAG_FAGGREGATABLE:  MUST be set if the type was declared with the [aggregatable] attribute (see section 2.2.49.8).

TYPEFLAG_FREPLACEABLE:  MUST be set if the type contains a member that was declared with the [replaceable] attribute (see section 2.2.49.5.1). MUST be ignored on receipt.

TYPEFLAG_FDISPATCHABLE:  MUST be set if the type derives from IDispatch, either directly or indirectly. MUST be set if the type is a dispinterface or dual interface <3> (see section 2.2.49.4.2).

TYPEFLAG_FPROXY:  MUST be set if the type was declared with the [proxy] attribute (see section 2.2.49.4). MUST be ignored on receipt.