Zitat:<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>BOOL PCUS11 GetKonfig (HANDLE hDevice, OUT_READ_KONFIG* pStructKonfig,ULONG* pSimpleStatus)</div>
Hallo,
also beim Knoten zum Aufruf... musst Du zunächst mal die einzelnen Parameter der Funktion angeben (hier deren 3).
HANDLE ist soweit ich weiß erstmal ein Zeiger auf eine Speicherzelle (solltest Du von einem vorhergehenden DLL Aufruf erhalten haben?).
Sie letzten beiden sind einfache Zeiger - das sollte kein größeres Problem werden.
Am einfachsten geht der letzte Parameter: Da als Typ Numerisch, U32 und "Zeiger auf Wert" verwenden.
Bei dem Zeiger auf die Struktur: Typ Array, U8, "Array Datenzeiger" verwenden. Dann musst Du unbedingt in den zu diesem Parameter gehörenden Eingang des DLL-Knotens ein initialisiertes U8 Array hineinführen, das mindestens so lang wie die Größe der Struktur in Bytes ist. Damit bekommst Du die Daten Deiner Struktur als Byte-Array. Nun musst Du "nur" noch die einzelnen Bytes je nach verwendeten Datentypen in der Struktur interpretieren.
Beispiel:
Deine Struktur besteht aus folgenden Werten (in dieser Reihenfolge)
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
typedef struct myStruct
{
unsigned int value1; //32 Bit
unsigned long long value2; //64 Bit
} myStruct;
</div>
Dann muss das initialisierte Array am Eingang des DLL-Knotens eine Größe von 4+8 = 12 Byte (U8-Elementen) haben. Aus den Daten, die aus Deiner DLL rauskommen, machst Du aus den ersten 4 Bytes einen U32 Wert und aus den nächsten 8 einen U64 Wert:
//edit: Ach ja. Den Handle Wert würde ich mal als U32 Wert (nicht Zeiger!) übergeben...