###Function### ObjCreateInterface ###Experimental### ###Description### Erzeugt eine Referenz zu einem Objekt aus dem angegebenen Klassennamen/Object-Pointer, Interface-Identifier und Bezeichnungsstring. ###Syntax### ObjCreateInterface ( "CLSID" , "IID" [,"interface_description", ["flag"]] ) ###Parameters### @@ParamTable@@ CLSID Klassenidentifizierer oder Object-Pointer. Der Klassenidentifizierer kann eine ProgID oder Stringrepräsentation der CLSID sein. IID Stringrepräsentation des Interface-Identifiers. interface_description [optional] String der die v-table des Objects bezeichnet. Das Default Keyword kann benutzt werden um auf IDispatch für dual interfaces zuzugreifen. flag [optional] Der Standardwert ist True, was bedeutet dass das Object-Interface Eigenschaften von IUnknown erbt. @@End@@ ###ReturnValue### @@ReturnTable@@ Success: Gibt ein Object zurück. Failure: Gibt 0 zurück und setzt @error auf ungleich Null. @@End@@ ###Remarks### ObjCreateInterface erzeugt Objekte mit Methoden die im Interface-Bezeichnungsstring aufgelistet sind. Bei COM Objekten (IUnknown basiert) sind die ersten drei Methoden immer QueryInterface, AddRef und Release. Diese dürfen nicht im Bezeichnungsstring spezifiziert werden. Methoden die im Bezeichnungsstring aufgelistet sind, müssen in der v-table Reihenfolge des Interfaces sein. Falls eine ungültige oder fehlerhafte Bezeichnung angegeben wird, kann das zur Instabilität oder zum Absturz von AutoIt führen. Das Format des Bezeichnungsstrings ist: $sTagInterface = "MethodName1 RetType(ParamType1;ParamType2;...); MethodName2 RetType(..." Standardmäßig, benutzt AutoIt die 'stdcall' Aufrufkonvention für COM. Um 'cdecl' zu benutzen muss ein ':cdecl' nach dem Rückgabetyp angegeben werden. Gültige Typen sind: @@ParamTable@@ Typ Details none kein Wert (nur für Rückgabetyp gültig - äquivalent zu void in C) byte ein vorzeichenloser 8 bit Integer boolean ein vorzeichenloser 8 bit Integer short ein 16 bit Integer word, ushort ein vorzeichenloser 16 bit Integer int, long ein 32 bit Integer bool ein 32 bit Integer dword, ulong, uint ein vorzeichenloser 32 bit Integer hresult ein 32 bit Integer int64 ein 64 bit Integer uint64 ein vorzeichenloser 64 bit Integer ptr ein allgemeiner Pointer (void *) hwnd ein Fensterhandle (pointer) handle ein Handle (pointer) float eine Gleitkommazahl mit einfacher Genauigkeit double eine Gleitkommazahl mit doppelter Genauigkeit int_ptr, long_ptr, lresult, lparam ein Integer, groß genug um einen Pointer zu enthalten wenn die x86 or x64 Versionen von AutoIt benutzt werden. uint_ptr, ulong_ptr, dword_ptr, wparam ein vorzeichenloser Integer, groß genug um einen Pointer zu enthalten wenn die x86 or x64 Versionen von AutoIt benutzt werden. str ein ANSI String (ein Minimum von 65536 chars wird reserviert). wstr ein UNICODE wide character String (ein Minimum von 65536 chars wird reserviert). bstr ein zusammengesetzter Datentyp der aus einem Längenpräfix, einem Datenstring und einem Endzeichen besteht. variant eine tagged-Union welche jeden anderen Datentyp repräsentieren kann. idispatch, object ein zusammengesetzter Datentyp der ein Object mit IDispatch Interface repräsentiert. clsid 128-bit Integer in Form eines GUID Strings struct Struktur die mit DllStructCreate() erstellt wurde * Um einen Datentypen via Referenz (Pointer) zu übergeben muss * an den Datentyp angefügt werden. Beispiel: "int*" übergibt einen Pointer zu einem "int" Typ. @@End@@ Siehe Obj/COM Reference für mehr Informationen über Objekte. ###Related### ObjCreate ###Example### @@IncludeExample@@