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 IClassFactory2 von 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. |