<div class="content"><p> </p><p>The TYPEFLAGS enumeration values are used in the <b>wTypeFlags</b>
field of a TYPEATTR to specify the features of a type, as specified in section <span><a href="0ca10d08-61d2-4059-9109-7bbaf545715e" data-linktype="relative-path">2.2.44</a></span>.
They also are used in the <i>pTypeFlags</i> parameter of the <span><a href="5e6482f3-8bb0-4403-8dd3-fce5c1071c30" data-linktype="relative-path">ITypeInfo2::GetTypeFlags</a></span>
method.</p><p>The function invocation constants are defined in the
TYPEFLAGS enumeration.</p><dl>
<dd>
<div><pre> 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;
</pre></div>
</dd></dl><p><b>TYPEFLAG_FAPPOBJECT:  </b>MUST be set if the type
was declared with the <b>[appobject]</b> attribute (see section <span><a href="e86fe771-d836-47b6-b846-846de41d592c" data-linktype="relative-path">2.2.49.8</a></span>).</p><p><b>TYPEFLAG_FCANCREATE:  </b>MUST NOT be set if the
type was declared with the <b>[noncreatable]</b> attribute (see section
2.2.49.8). Otherwise, MUST be set.</p><p><b>TYPEFLAG_FLICENSED:  </b>MUST be set if the type
was declared with the <b>[licensed]</b> attribute (see section 2.2.49.8).</p><p><b>TYPEFLAG_FPREDECLID:  </b>MUST be set if the type
was declared with the <b>[predeclid]</b> or <b>[appobject]</b> attributes (see
section 2.2.49.8).</p><p><b>TYPEFLAG_FHIDDEN:  </b>MUST be set if the type was
declared with the <b>[hidden]</b> attribute (see section 2.2.49.8).</p><p><b>TYPEFLAG_FCONTROL:  </b>MUST be set if the type
was declared with the <b>[control]</b> attribute (see section 2.2.49.8).</p><p><b>TYPEFLAG_FDUAL:  </b>MUST be set if the type was
declared with the <b>[dual]</b> attribute (see section <span><a href="bd30db0d-6c38-4d54-9c44-67c0e9d25551" data-linktype="relative-path">2.2.49.4.2</a></span>).</p><p><b>TYPEFLAG_FNONEXTENSIBLE:  </b>MUST be set if the
type was declared with the <b>[nonextensible]</b> attribute (see section <span><a href="3b4b512c-8c94-45a1-810d-ba4ff0152698" data-linktype="relative-path">2.2.49.4</a></span>).</p><p><b>TYPEFLAG_FOLEAUTOMATION:  </b>MUST be set if the
type is a <span><a href="5583e1b8-454c-4147-9f56-f72416a15bee#gt_4b20db64-5f0c-4df0-9ecf-91cdde2c2408" data-linktype="relative-path">DCOM interface</a></span> that
was declared with the <b>[oleautomation]</b> or <b>[dual]</b> attributes (see
section 2.2.49.4). MUST NOT be set if the type is a <span><a href="5583e1b8-454c-4147-9f56-f72416a15bee#gt_35b38e6d-42ee-4b7b-8ca1-ab93308458d5" data-linktype="relative-path">dispinterface</a></span>.</p><p><b>TYPEFLAG_FRESTRICTED:  </b>MUST be set if the type
was declared with the <b>[restricted]</b> attribute (see section <span><a href="232d5f12-4b88-43e3-a633-60fc157b1a5f" data-linktype="relative-path">2.2.49.5.1</a></span>).</p><p><b>TYPEFLAG_FAGGREGATABLE:  </b>MUST be set if the
type was declared with the <b>[aggregatable]</b> attribute (see section
2.2.49.8).</p><p><b>TYPEFLAG_FREPLACEABLE:  </b>MUST be set if the
type contains a member that was declared with the <b>[replaceable]</b>
attribute (see section 2.2.49.5.1). MUST be ignored on receipt.</p><p><b>TYPEFLAG_FDISPATCHABLE:  </b>MUST be set if the
type derives from IDispatch, either directly or indirectly. MUST be set if the
type is a dispinterface or <span><a href="5583e1b8-454c-4147-9f56-f72416a15bee#gt_3bb740fd-35c1-4082-a912-2bde177753b9" data-linktype="relative-path">dual interface</a></span> <a id="Appendix_A_Target_3"></a><a aria-label="Product behavior note 3" href="ae19ad63-7433-4568-88e9-f70e5593547d#Appendix_A_3" data-linktype="relative-path">&lt;3&gt;</a> (see section 2.2.49.4.2).</p><p><b>TYPEFLAG_FPROXY:  </b>MUST be set if the type was
declared with the <b>[proxy]</b> attribute (see section 2.2.49.4). MUST be
ignored on receipt. </p></div>