TYPEFLAGS-Enumeration (oaidl.h)
Die Typflags.
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;
Konstanten
TYPEFLAG_FAPPOBJECT Wert: 0x1 Eine Typenbeschreibung, die ein Anwendungsobjekt beschreibt. |
TYPEFLAG_FCANCREATE Wert: 0x2 Instanzen des Typs können von ITypeInfo::CreateInstance erstellt werden. |
TYPEFLAG_FLICENSED Wert: 0x4 Der Typ ist lizenziert. |
TYPEFLAG_FPREDECLID Wert: 0x8 Der Typ ist vordefiniert. Die Clientanwendung erstellt automatisch eine einzelne Instanz des Objekts, das über dieses Attribut verfügt. Der Name der auf das Objekt zeigenden Variablen ist derselbe wie der Klassenname des Objekts. |
TYPEFLAG_FHIDDEN Wert: 0x10 Der Typ darf in Browsern nicht angezeigt werden. |
TYPEFLAG_FCONTROL Wert: 0x20 Der Typ ist ein Steuerelement, aus dem andere Typen abgeleitet werden, und darf Benutzern nicht angezeigt werden. |
TYPEFLAG_FDUAL Wert: 0x40 Die Schnittstelle liefert sowohl IDispatch - als auch VTBL-Bindung. |
TYPEFLAG_FNONEXTENSIBLE Wert: 0x80 Die Schnittstelle kann zur Laufzeit keine Member hinzufügen. |
TYPEFLAG_FOLEAUTOMATION Wert: 0x100 Die in der Schnittstelle verwendeten Typen sind vollständig automatisierungskompatibel, wobei die Unterstützung von VTBL-Bindung eingeschlossen ist. Durch festlegen von dual für eine Schnittstelle wird dieses Flag zusätzlich zu TYPEFLAG_FDUAL festgelegt. Bei Dispatchschnittstellen nicht zulässig. |
TYPEFLAG_FRESTRICTED Wert: 0x200 Der Zugriff darf für Makrosprachen nicht möglich sein. Dieses Flag ist für Typen auf Systemebene oder für Typen bestimmt, die von Typenbrowsern nicht angezeigt werden sollen. |
TYPEFLAG_FAGGREGATABLE Wert: 0x400 Die Klasse unterstützt Aggregation. |
TYPEFLAG_FREPLACEABLE Wert: 0x800 Der Typ kann ersetzt werden. |
TYPEFLAG_FDISPATCHABLE Wert: 0x1000 Gibt an, dass die Schnittstelle direkt oder indirekt von IDispatch abgeleitet ist. Dieses Flag wird berechnet. Es gibt keine Objektbeschreibungssprache für das Flag. |
TYPEFLAG_FREVERSEBIND Wert: 0x2000 Der Typ verfügt über eine umgekehrte Bindung. |
TYPEFLAG_FPROXY Wert: 0x4000 Schnittstellen können mit diesem Flag gekennzeichnet werden, um anzugeben, dass sie eine Proxy-/Stub-Bibliothek für dynamische Verknüpfungen verwenden. Dieses Flag gibt an, dass der Typelib-Proxy die Registrierung nicht aufheben soll, wenn die Typelib-Registrierung aufgehoben wird. |
Hinweise
TYPEFLAG_FAPPOBJECT kann für Typbeschreibungen mit TypeKind = TKIND_COCLASS verwendet werden, und gibt an, dass die Typbeschreibung ein Application-Objekt angibt.
Auf Elemente des Application-Objekts kann global zugegriffen werden. Die Bind-Methode der ITypeComp-instance, die der Bibliothek zugeordnet ist, bindet an die Member eines Application-Objekts, genau wie bei Typbeschreibungen, die TypeKind = TKIND_MODULE haben.
Die Typbeschreibung definiert implizit eine globale Variable mit demselben Namen und Typ, der durch die Typbeschreibung beschrieben wird. Diese Variable ist auch global zugänglich. Wenn Bind den Namen eines Application-Objekts übergeben wird, wird ein VARDESC zurückgegeben, der die implizite Variable beschreibt. Die ID der implizit erstellten Variablen ist immer ID_DEFAULTINST.
Die ITypeInfo::CreateInstance-Funktion einer Application-Objekttypbeschreibung wird aufgerufen, und dann wird GetActiveObject verwendet, um das Application-Objekt abzurufen. Wenn GetActiveObject fehlschlägt , weil die Anwendung nicht ausgeführt wird, ruft CreateInstanceCoCreateInstance auf, wodurch die Anwendung gestartet werden soll.
Wenn TYPEFLAG_FCANCREATE festgelegt ist, kann CreateInstance einen instance dieses Typs erstellen. Dies gilt nur für Komponentenobjektklassen, für die ein global eindeutiger Bezeichner (GUID) angegeben wurde.
Anforderungen
Anforderung | Wert |
---|---|
Header | oaidl.h |