Freigeben über


IDL-Attribute

Traditionell bedeutet die Aufrechterhaltung einer IDL-Datei Folgendes:

  • Machen Sie sich mit der Struktur und Syntax einer IDL-Datei vertraut, um sie zu ändern.

  • Verlassen Sie sich auf einen Assistenten, mit dem Sie einige Aspekte der IDL-Datei ändern können.

Jetzt können Sie die IDL-Datei aus einer Quellcodedatei mithilfe von Visual C++-IDL-Attributen ändern. In vielen Fällen weisen Visual C++-IDL-Attribute denselben Namen wie MIDL-Attribute auf. Wenn der Name eines Visual C++-IDL-Attributs und eines MIDL-Attributs identisch ist, bedeutet dies, dass das Einfügen des Visual C++-Attributs in der Quellcodedatei zu einer IDL-Datei führt, die das namensake MIDL-Attribut enthält. Ein Visual C++-IDL-Attribut stellt jedoch möglicherweise nicht alle Funktionen eines MIDL-Attributs bereit.

Wenn sie nicht mit COM-Attributen verwendet wird, können Sie mit IDL-Attributen Schnittstellen definieren. Wenn der Quellcode kompiliert wird, werden die Attribute verwendet, um die generierte IDL-Datei zu definieren. Bei Verwendung mit COM-Attributen in einem ATL-Projekt führen einige IDL-Attribute, z coclass. B. dazu, dass Code in das Projekt eingefügt wird.

Beachten Sie, dass sie mit idl_quote MIDL-Konstrukte verwenden können, die in der aktuellen Version von Visual C++ nicht unterstützt werden. Diese und andere Attribute wie importlib und includelib helfen Ihnen bei der Verwendung vorhandener IDL-Dateien in Ihrem aktuellen Visual Studio C++-Projekt.

Attribute Beschreibung
Aggregierbar Gibt an, dass ein Steuerelement von einem anderen Steuerelement aggregiert werden kann.
appobject Identifiziert die Coclass als Anwendungsobjekt, das einer vollständigen EXE-Anwendung zugeordnet ist, und gibt an, dass die Funktionen und Eigenschaften der Coclass global in dieser Typbibliothek verfügbar sind.
async_uuid Gibt die UUID an, die den MIDL-Compiler angibt, um synchrone und asynchrone Versionen einer COM-Schnittstelle zu definieren.
bindable Gibt an, dass die Eigenschaft die Datenbindung unterstützt.
call_as Ermöglicht die Zuordnung einer nicht aktualisierbaren Funktion zu einer Remotefunktion.
case Wird mit dem attribut switch_type in einer Union verwendet.
coclass Platziert die Klassendefinition als CO-Klasse in eine IDL-Datei.
control Gibt an, dass der benutzerdefinierte Typ ein Steuerelement ist.
cpp_quote Gibt die angegebene Zeichenfolge ohne Anführungszeichen in die generierte Headerdatei aus.
defaultbind Gibt die einzelne, bindbare Eigenschaft an, die das Objekt am besten darstellt.
defaultcollelem Wird für die Visual Basic-Codeoptimierung verwendet.
defaultvalue Ermöglicht die Angabe eines Standardwerts für einen typierten optionalen Parameter.
default Gibt an, dass die benutzerdefinierte Schnittstelle oder Disp-Schnittstelle innerhalb einer Co-Klasse die Standard-Programmierschnittstelle darstellt.
defaultvtable Definiert eine Schnittstelle als Standard-vtable-Schnittstelle für ein Steuerelement.
dispinterface Fügt eine Schnittstelle in die IDL-Datei als Verteilschnittstelle ein.
displaybind Gibt eine Eigenschaft an, die dem Benutzer als bindungsfähig angezeigt werden soll.
dual Platziert eine Schnittstelle in der IDL-Datei als duale Schnittstelle.
entry Gibt eine exportierte Funktion oder Konstante in einem Modul an, indem der Einstiegspunkt in der DLL identifiziert wird.
first_is Gibt den Index des ersten zu übertragenden Arrayelements an.
helpcontext Gibt eine Kontext-ID an, mit der der Benutzer Informationen zu diesem Element in der Hilfedatei anzeigen kann.
helpfile Legt den Namen der Hilfedatei für eine Typbibliothek fest.
helpstringcontext Gibt die ID eines Hilfethemas in einer HLP- oder CHM-Datei an.
helpstringdll Gibt den Namen der DLL an, die zum Nachschlagen von Dokumentzeichenfolgen (Lokalisierung) verwendet werden soll.
helpstring Gibt eine Zeichenfolge an, die zum Beschreiben des Elements verwendet wird, auf das sie angewendet wird.
hidden Gibt an, dass das Element vorhanden ist, aber nicht in einem benutzerdefinierten Browser angezeigt werden soll.
idl_module Gibt einen Einstiegspunkt in einer DLL an.
idl_quote Ermöglicht ihnen die Verwendung von Attributen oder IDL-Konstrukten, die in der aktuellen Version von Visual C++ nicht unterstützt werden.
id Gibt eine DISPID für eine Memberfunktion an (entweder eine Eigenschaft oder eine Methode, in einer Schnittstelle oder dispinterface).
iid_is Gibt die IID der COM-Schnittstelle an, auf die von einem Schnittstellenzeiger verwiesen wird.
immediatebind Gibt an, dass die Datenbank sofort über alle Änderungen an einer Eigenschaft eines datengebundenen Objekts benachrichtigt wird.
importlib Stellt Typen, die bereits in einer anderen Typbibliothek kompiliert wurden, der erstellten Typbibliothek zur Verfügung.
Import Gibt eine weitere IDL-, ODL- oder Headerdatei an, die Definitionen enthält, auf die Sie aus der IDL-Hauptdatei verweisen möchten.
include Gibt eine oder mehrere Headerdateien an, die in die generierte IDL-Datei aufgenommen werden sollen.
includelib Bewirkt, dass eine IDL- oder H-Datei in die generierte IDL-Datei eingeschlossen wird.
in Gibt an, dass ein Parameter von der aufrufenden Prozedur an die aufgerufene Prozedur übergeben werden soll.
last_is Gibt den Index des letzten zu übertragenden Arrayelements an.
lcid Hiermit können Sie einen Gebietsschemabezeichner an eine Funktion übergeben.
length_is Gibt die Anzahl der zu übertragenden Arrayelemente an.
licensed Gibt an, dass die Co-Klasse, für die sie gilt, lizenziert ist und mithilfe IClassFactory2von Instanziierung instanziiert werden muss.
local Ermöglicht ihnen, den MIDL-Compiler als Headergenerator zu verwenden, wenn er im Schnittstellenheader verwendet wird. Wenn sie in einer einzelnen Funktion verwendet wird, wird eine lokale Prozedur festgelegt, für die keine Stubs generiert werden.
max_is Legt den Maximalwert für einen gültigen Arrayindex fest.
module Definiert den Bibliotheksblock in der IDL-Datei.
ms_union Steuert die Ausrichtung der Netzwerkdatendarstellung von nicht gekapselten Gewerkschaften.
no_injected_text Verhindert, dass der Compiler Code als Ergebnis der Attributverwendung eingibt.
nonbrowsable Gibt an, dass ein Schnittstellenelement nicht in einem Eigenschaftenbrowser angezeigt werden soll.
noncreatable Definiert ein Objekt, das nicht selbst instanziiert werden kann.
nonextensible Gibt an, dass die IDispatch Implementierung nur die eigenschaften und Methoden enthält, die in der Schnittstellenbeschreibung aufgeführt sind und nicht zur Laufzeit mit zusätzlichen Membern erweitert werden können.
object Identifiziert eine benutzerdefinierte Schnittstelle; synonym mit benutzerdefiniertem Attribut.
odl Identifiziert eine Schnittstelle als ODL-Schnittstelle (Object Description Language).
oleautomation Gibt an, dass eine Schnittstelle mit der Automatisierung kompatibel ist.
optional Gibt einen optionalen Parameter für eine Memberfunktion an.
out Gibt die Zeigerparameter an, die von der aufgerufenen Prozedur an die aufrufende Prozedur zurückgegeben werden (vom Server an den Client).
pointer_default Gibt das Standardzeiger-Attribut für alle Zeiger mit Ausnahme von Zeigern auf oberster Ebene an, die in Parameterlisten angezeigt werden.
pragma Gibt die angegebene Zeichenfolge ohne Anführungszeichen in die generierte IDL-Datei aus.
progid Gibt die ProgID für ein COM-Objekt an.
propget Gibt eine Eigenschaftsaccessorfunktion (get) an.
propputref Gibt eine Eigenschaftseinstellungsfunktion an, die einen Verweis anstelle eines Werts verwendet.
propput Gibt eine Eigenschaftseinstellungsfunktion an.
ptr Legt einen Zeiger als vollständigen Zeiger fest.
public Stellt sicher, dass ein Typedef in die Typbibliothek wechselt, auch wenn nicht in der IDL-Datei darauf verwiesen wird.
range Gibt einen Bereich zulässiger Werte für Argumente oder Felder an, deren Werte zur Laufzeit festgelegt werden.
readonly Verbietet die Zuweisung zu einer Variablen.
ref Identifiziert einen Verweiszeiger.
requestedit Gibt an, dass die Eigenschaft die OnRequestEdit-Benachrichtigung unterstützt.
restricted Gibt an, dass eine Bibliothek oder ein Element eines Moduls, einer Schnittstelle oder eines Dispinterfaces nicht willkürlich aufgerufen werden kann.
retval Legt den Parameter fest, der den Rückgabewert des Elements empfängt.
size_is Gibt die Größe des Speichers an, der für Die Größe von Zeigern zugewiesen ist, Die Größe von Zeigern und ein- oder mehrdimensionale Arrays.
Quelle Gibt an, dass ein Element einer Klasse, Eigenschaft oder Methode eine Quelle von Ereignissen ist.
string Gibt an, dass das eindimensionale char, wchar_t, byte, oder gleichwertige Array oder der Zeiger auf ein solches Array als Zeichenfolge behandelt werden muss.
switch_is Gibt den Ausdruck oder bezeichner an, der als Union diskriminant fungiert, der das Union-Mitglied auswählt.
switch_type Gibt den Typ der Variablen an, die als Union diskriminant verwendet wird.
transmit_as Weist den Compiler an, einen präsentierten Typ zuzuordnen, den Client- und Serveranwendungen bearbeiten, mit einem übertragenen Typ.
uidefault Gibt an, dass das Typinformationselement das Standardelement für die Anzeige auf der Benutzeroberfläche ist.
unique Gibt einen eindeutigen Zeiger an.
usesgetlasterror Teilt dem Aufrufer mit, dass der Aufrufer den GetLastError Fehlercode abrufen kann, wenn beim Aufrufen dieser Funktion ein Fehler auftritt.
uuid Gibt die eindeutige ID für eine Klasse oder Schnittstelle an.
v1_enum Leitet an, dass der angegebene Enumerationstyp als 32-Bit-Entität übertragen wird, anstatt als 16-Bit-Standard.
vararg Gibt an, dass die Funktion eine variable Anzahl von Argumenten verwendet.
vi_progid Gibt eine versionsunabhängige Form der ProgID an.
wire_marshal Gibt einen Datentyp an, der anstelle eines anwendungsspezifischen Datentyps für die Übertragung verwendet wird.

Siehe auch

Attribute nach Gruppen