Énumération TYPEFLAGS (oaidl.h)

Indicateurs de type.

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
Valeur : 0x1
Description de type qui décrit un objet Application.
TYPEFLAG_FCANCREATE
Valeur : 0x2
Les instances du type peuvent être créées par ITypeInfo ::CreateInstance.
TYPEFLAG_FLICENSED
Valeur : 0x4
Le type est sous licence.
TYPEFLAG_FPREDECLID
Valeur : 0x8
Le type est prédéfini. L'application cliente doit automatiquement créer une instance unique de l'objet doté de cet attribut. Le nom de la variable pointant vers l'objet est identique au nom de classe de l'objet.
TYPEFLAG_FHIDDEN
Valeur : 0x10
Le type ne doit pas être affiché aux navigateurs.
TYPEFLAG_FCONTROL
Valeur : 0x20
Le type est un contrôle à partir duquel les autres types sont dérivés ; il ne doit pas être affiché aux utilisateurs.
TYPEFLAG_FDUAL
Valeur : 0x40
L’interface fournit à la fois la liaison IDispatch et VTBL.
TYPEFLAG_FNONEXTENSIBLE
Valeur : 0x80
L'interface ne peut pas ajouter de membres au moment de l'exécution.
TYPEFLAG_FOLEAUTOMATION
Valeur : 0x100
Les types utilisés dans l'interface sont totalement compatibles avec Automation, y compris la prise en charge de la liaison VTBL. La définition du double sur une interface définit cet indicateur en plus de TYPEFLAG_FDUAL. Non autorisé sur les dispinterfaces.
TYPEFLAG_FRESTRICTED
Valeur : 0x200
Ne doit pas être accessible à partir de langages de macro. Cet indicateur est destiné à des types de niveau système ou à des types que les explorateurs de types ne doivent pas afficher.
TYPEFLAG_FAGGREGATABLE
Valeur : 0x400
La classe prend en charge l'agrégation.
TYPEFLAG_FREPLACEABLE
Valeur : 0x800
Le type est remplaçable.
TYPEFLAG_FDISPATCHABLE
Valeur : 0x1000
Indique que l’interface dérive d’IDispatch, directement ou indirectement. Cet indicateur est calculé. Il n’existe aucun langage de description d’objet pour l’indicateur.
TYPEFLAG_FREVERSEBIND
Valeur : 0x2000
Le type a une liaison inverse.
TYPEFLAG_FPROXY
Valeur : 0x4000
Les interfaces peuvent être marquées avec cet indicateur pour indiquer qu’elles utiliseront une bibliothèque de liens dynamiques proxy/stub. Cet indicateur spécifie que le proxy typelib ne doit pas être désinscrit lorsque typelib n’est pas inscrit.

Remarques

TYPEFLAG_FAPPOBJECT peut être utilisé sur les descriptions de type avec TypeKind = TKIND_COCLASS, et indique que la description de type spécifie un objet Application.

Les membres de l’objet Application sont globalement accessibles. La méthode Bind de l’instance ITypeComp associée à la bibliothèque se lie aux membres d’un objet Application, comme elle le fait pour les descriptions de type qui ont TypeKind = TKIND_MODULE.

La description de type définit implicitement une variable globale avec le même nom et le même type décrits par la description de type. Cette variable est également accessible dans le monde entier. Lorsque Bind transmet le nom d’un objet Application, un VARDESC est retourné, qui décrit la variable implicite. L’ID de la variable implicitement créée est toujours ID_DEFAULTINST.

La fonction ITypeInfo ::CreateInstance d’une description de type d’objet Application est appelée, puis elle utilise GetActiveObject pour récupérer l’objet Application. Si GetActiveObject échoue parce que l’application n’est pas en cours d’exécution, CreateInstance appelle CoCreateInstance, qui doit démarrer l’application.

Lorsque TYPEFLAG_FCANCREATE est défini, CreateInstance peut créer un instance de ce type. Cela est vrai uniquement pour les classes d’objets de composant pour lesquelles un identificateur global unique (GUID) a été spécifié.

Configuration requise

Condition requise Valeur
En-tête oaidl.h