INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Probleme mit Handler und Struct



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

16.11.2012, 09:57
Beitrag #1

ElBartscho Offline
CLAD


Beiträge: 9
Registriert seit: Nov 2012

2014SP1
2009
DE


Deutschland
Probleme mit Handler und Struct
Hallo Liebe Leute,

ich habe einige Probleme mit folgender DLL Funktion:

Code:
LMUSB_HANDLE __stdcall InitializeDevice(unsigned short usVID,
                                        unsigned short usPID,
                                        LPGUID lpGUID,
                                        BOOL *pbDriverInstalled);

Die beiden us- und der BOOL-Parameter machen keine Probleme. Der Rest schon.

Hier ein Ausschnitt aus dem Headerfil mit den notwendigen typedefs:

Code:
typedef unsigned char UCHAR, *PUCHAR;

typedef unsigned short USHORT, *PUSHORT;

typedef struct {

    unsigned long Data1;
  
    unsigned short Data2;

    unsigned short Data3;
  
    byte Data4[8];

} GUID;

typedef GUID *LPGUID;

typedef void *LMUSB_HANDLE;

Ich habe die Funktion mit Hilfe des Wizzards erstellen lassen. Im Wizzard wird mit für den Parameter
Code:
LPGUID lpGUID
ein Cluster angezeigt. Allerdings ist das Cluster nicht im vi vorhanden wenn ich nach der Erstellung das Blockdiagramm ansehe. Die Datentypen des Structs sind vom Wizzard lediglich einzeln an den Call Function Node Block angeschlossen worden? MIt diesen Konfigurationen erhielt ich einen Fehler von LV(#1097). Ich habe das vom Wizzard erstellte VI dann so editiert, dass die lpGUID als einzelner Parameter also in Form eines Clusters angeschlossen werden kann. Die vom Wizzard erstellten Datentypen habe ich beibehalten.

Ich bekomme hiermit zumindest keinen Fehler. Ich bekomme allerdings eine NULL als return Value. Meine Vermutung ist, dass die GUID nicht richtig erkannt oder übergeben wird?
Sind die Datentypen für Handler und die Übergabe der Parameter im richtigen Format für LabVIEW? Oder muss ich Vielleicht sogar komplett anders vorgehen um die richtige Funktionalität zu erhalten.


Danke für eure Hilfe!


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Probleme mit Handler und Struct - ElBartscho - 16.11.2012 09:57

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  C-Funktion benötigt Struct Forest 3 6.911 04.05.2013 23:38
Letzter Beitrag: rolfk
  Problem bei Struct Einbindung wie in C/C++ raverel 5 8.775 24.04.2013 14:22
Letzter Beitrag: raverel
  DLL-Einbindung, Struct mit verschiedenen Datentypen als Pointer übergeben hawk72 4 11.071 11.05.2012 14:41
Letzter Beitrag: hawk72
  in LV auf dll union zugreifen (struct {union{array;struct{ };BYTE}) Dommas 2 6.876 14.06.2011 10:20
Letzter Beitrag: Dommas
  Übergabe eines struct arrays an eine DDL und wieder Auslesen SK-AC 4 7.227 12.08.2010 17:01
Letzter Beitrag: rolfk
  pointer auf struct mit unterschiedlichen datentypen neven 8 7.791 27.11.2007 16:42
Letzter Beitrag: neven

Gehe zu: