Enumeração TYPEFLAGS (oaidl.h)

Os sinalizadores de tipo.

Syntax

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;

Constantes

 
TYPEFLAG_FAPPOBJECT
Valor: 0x1
Uma descrição de tipo que descreve um objeto de Aplicativo.
TYPEFLAG_FCANCREATE
Valor: 0x2
Instâncias do tipo podem ser criadas por ITypeInfo::CreateInstance.
TYPEFLAG_FLICENSED
Valor: 0x4
O tipo é licenciado.
TYPEFLAG_FPREDECLID
Valor: 0x8
O tipo é predefinido. O aplicativo cliente deve criar automaticamente uma única instância do objeto que tem esse atributo. O nome da variável que aponta para o objeto é o mesmo que o nome de classe do objeto.
TYPEFLAG_FHIDDEN
Valor: 0x10
O tipo não deve ser exibido para os navegadores.
TYPEFLAG_FCONTROL
Valor: 0x20
O tipo é um controle do qual outros tipos serão derivados e não deve ser exibido aos usuários.
TYPEFLAG_FDUAL
Valor: 0x40
A interface fornece a associação IDispatch e VTBL.
TYPEFLAG_FNONEXTENSIBLE
Valor: 0x80
A interface não pode adicionar membros em tempo de execução.
TYPEFLAG_FOLEAUTOMATION
Valor: 0x100
Os tipos usados na interface são totalmente compatíveis com a Automação, incluindo o suporte da associação VTBL. Definir dual em uma interface define esse sinalizador além de TYPEFLAG_FDUAL. Não é permitido em dispinterfaces.
TYPEFLAG_FRESTRICTED
Valor: 0x200
Não deve ser acessível de linguagens de macro. Esse sinalizador é destinado a tipos no nível de sistema ou a tipos que navegadores de tipo não devem exibir.
TYPEFLAG_FAGGREGATABLE
Valor: 0x400
A classe oferece suporte à agregação.
TYPEFLAG_FREPLACEABLE
Valor: 0x800
O tipo é substituível.
TYPEFLAG_FDISPATCHABLE
Valor: 0x1000
Indica que a interface deriva de IDispatch, direta ou indiretamente. Esse sinalizador é calculado. Não há linguagem de descrição de objeto para o sinalizador.
TYPEFLAG_FREVERSEBIND
Valor: 0x2000
O tipo tem associação inversa.
TYPEFLAG_FPROXY
Valor: 0x4000
As interfaces podem ser marcadas com esse sinalizador para indicar que elas usarão uma biblioteca de link dinâmico proxy/stub. Esse sinalizador especifica que o proxy typelib não deve ser cancelado quando o typelib não é registrado.

Comentários

TYPEFLAG_FAPPOBJECT pode ser usado em descrições de tipo com TypeKind = TKIND_COCLASS e indica que a descrição do tipo especifica um objeto Application.

Os membros do objeto Application são acessíveis globalmente. O método Bind da instância ITypeComp associada à biblioteca associa-se aos membros de um objeto Application, assim como faz para descrições de tipo que têm TypeKind = TKIND_MODULE.

A descrição do tipo define implicitamente uma variável global com o mesmo nome e tipo descritos pela descrição do tipo. Essa variável também é acessível globalmente. Quando Bind é passado o nome de um objeto Application, um VARDESC é retornado, que descreve a variável implícita. A ID da variável criada implicitamente é sempre ID_DEFAULTINST.

A função ITypeInfo::CreateInstance de uma descrição do tipo de objeto Application é chamada e usa GetActiveObject para recuperar o objeto Application. Se GetActiveObject falhar porque o aplicativo não está em execução, CreateInstancechamará CoCreateInstance, que deve iniciar o aplicativo.

Quando TYPEFLAG_FCANCREATE é definido, CreateInstance pode criar uma instância desse tipo. Isso é verdadeiro apenas para classes de objeto de componente para as quais um GUID (identificador global exclusivo) foi especificado.

Requisitos

Requisito Valor
Cabeçalho oaidl.h