TYPEFLAGS 枚举 (oaidl.h)

类型标志。

语法

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_FREVERSEBIND = 0x2000,
  TYPEFLAG_FPROXY = 0x4000
} TYPEFLAGS;

常量

 
TYPEFLAG_FAPPOBJECT
值: 0x1
描述 Application 对象的类型说明。
TYPEFLAG_FCANCREATE
值: 0x2
该类型的实例可由 ITypeInfo::CreateInstance 创建
TYPEFLAG_FLICENSED
值: 0x4
该类型已授权。
TYPEFLAG_FPREDECLID
值: 0x8
该类型是预定义的。 该客户端应用程序应自动创建具有此属性的对象的单个实例。 指向该对象的变量名称与该对象的类名相同。
TYPEFLAG_FHIDDEN
值: 0x10
该类型不应显示在浏览器中。
TYPEFLAG_FCONTROL
值: 0x20
该类型是派生其他类型的控件,并且不应显示给用户。
TYPEFLAG_FDUAL
值: 0x40
该接口同时提供 IDispatch 和 VTBL 绑定。
TYPEFLAG_FNONEXTENSIBLE
值: 0x80
该接口在运行时无法添加成员。
TYPEFLAG_FOLEAUTOMATION
值: 0x100
该接口中使用的类型与自动化(包括 VTBL 绑定支持)完全兼容。 除了TYPEFLAG_FDUAL外,在接口上设置双标记还会设置此标志。 在调度接口上不允许。
TYPEFLAG_FRESTRICTED
值: 0x200
不应是可从宏语言访问的。 此标志适用于系统级类型或类型浏览器不应显示的类型。
TYPEFLAG_FAGGREGATABLE
值: 0x400
该类支持聚合。
TYPEFLAG_FREPLACEABLE
值: 0x800
类型可替换。
TYPEFLAG_FDISPATCHABLE
值: 0x1000
指示接口直接或间接派生自 IDispatch。 计算此标志。 标志没有对象说明语言。
TYPEFLAG_FREVERSEBIND
值: 0x2000
该类型具有反向绑定。
TYPEFLAG_FPROXY
值: 0x4000
可以使用此标志标记接口,以指示它们将使用代理/存根动态链接库。 此标志指定在取消注册 typelib 时不应注销 typelib 代理。

注解

TYPEFLAG_FAPPOBJECT可用于 TypeKind = TKIND_COCLASS的类型说明,并指示类型说明指定 Application 对象。

Application 对象的成员可全局访问。 与库关联的 ITypeComp 实例的 Bind 方法绑定到 Application 对象的成员,就像对 TypeKind = TKIND_MODULE的类型说明一样。

类型说明隐式定义具有相同名称和类型描述的全局变量。 此变量也可以全局访问。 当 Bind 传递 Application 对象的名称时,将返回 VARDESC,该变量描述隐式变量。 隐式创建的变量的 ID 始终ID_DEFAULTINST。

调用 Application 对象类型说明的 ITypeInfo::CreateInstance 函数,然后使用 GetActiveObject 检索 Application 对象。 如果 GetActiveObject 失败,因为应用程序未运行,则 CreateInstance 调用 CoCreateInstance,应启动该应用程序。

设置TYPEFLAG_FCANCREATE后, CreateInstance 可以创建此类型的实例。 这仅适用于指定了全局唯一标识符 (GUID) 的组件对象类。

要求

   
标头 oaidl.h