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 |