FW_ObjMgr_CreateAndInitInstance

Diese Funktion erzeugt eine Instanz der mittels Class-ID spezifizierten Klasse und liefert zugleich einen Schnittstellenzeiger auf dieses Objekt. Zudem können Objektname und Zustand, in den das Objekt versetzt werden soll, sowie optional auch Initialisierungsparameter angegeben werden.
Rückgabewert
FW_ObjMgr_CreateAndInitInstance : HRESULT;
Name | Typ | Beschreibung |
---|---|---|
FW_ObjMgr_CreateAndInitInstance | HRESULT | Liefert S_OK, wenn der Funktionsaufruf erfolgreich war. |
Eingänge
VAR_INPUT
clsId : CLSID;
iid : IID;
pipUnk : POINTER TO ITcUnknown;
objId : UDINT;
parentId : UDINT;
name : REFERENCE TO STRING;
state : UDINT;
pInitData : POINTER TO TComInitDataHdr;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
clsId | CLSID | Spezifiziert die Klasse, von welcher ein Objekt angelegt werden soll. |
iid | IID | Spezifiziert die Schnittstellen-ID, zu welcher ein Schnittstellenzeiger referenziert werden soll. |
pipUnk | POINTER TO ITcUnknown | Liefert den Schnittstellenzeiger auf das erstellte Objekt. |
objId | UDINT | Spezifiziert die Objekt-ID für das neu erstellte Objekt. Wird hier die globale Konstante OTCID_CreateNewId eingegeben, so wird intern eine neue Objekt-ID generiert. |
parentId | UDINT | Objekt-ID des Elternobjektes (optional) |
name | REFERENCE TO STRING | Spezifiziert den Objektnamen, welcher für das neu erstellte Objekt vergeben werden soll. |
State | UDINT | Spezifiziert den Zustand, in den das neu erstellte Objekt versetzt werden soll. Typischerweise wird Operational (TCOM_STATE.TCOM_STATE_OP) angegeben. |
pInitData | POINTER TO TComInitDataHdr | Zeiger auf Initialisierungsparameter (optional) |
![]() | Notwendiges Löschen des Objektes Ein erzeugtes Objekt muss explizit wieder gelöscht werden. Es gibt keinen Garbage-Collector wie in .Net. Es wird empfohlen, FW_ObjMgr_DeleteInstance zu verwenden, um spätestens im Destruktor des Objektes, welches die Instanz angelegt hat, die erzeugte Instanz zu löschen. |
Voraussetzungen
TwinCAT Version | Hardware | Einzubindende Bibliotheken |
---|---|---|
TwinCAT 3.1, Build 4020 | x86, x64, ARM | Tc3_Module |