É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 |