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