Aufruf der atusbhid.dll mit Visual Basic 2005

Gast #755010
Lesenswert?

Hallo Fachleute

ich habe versucht die atusbhid.dll (Header im Anhang) in ein Visual 
Basic 2005 Programm einzubinden, leider ohne erfolg. Ist es überhaupt 
möglich oder geht das nur mit c++? Wenn ja, wie muss ich das machen.

vielen dank für eure Hilfe
Angehängte Dateien:
Persönliche Seite #755120
Lesenswert?

> leider ohne erfolg

Tolle Fehlerbeschreibung. Wirklich.

..

Das ist keine C++-DLL, sie sollte daher auch aus VB heraus nutzbar sein. 
Hast Du derartiges schon mal mit 'ner anderen DLL gemacht? Interessant 
für Dich ist nur der Abschnitt, der auf "Exported functions prototypes" 
folgt - da sind die in der DLL enthaltenen Funktionen deklariert. Deren 
Deklarationen (Prototypen) musst Du nur in die entsprechende VB-Syntax 
umsetzen, genauso, wie man das bei anderen DLL-Importen auch macht.
Gast #755323
Lesenswert?

es ist nicht ganz das erste mal das ich das mache, aber ein Anfänger bin 
ich schon. Ich habe es folgendermassen probiert.

Private Declare Function FindDevice Lib "C:\test\AtUsbHid.dll" Alias 
"FindHidDevice" (ByVal ProductID As Integer, ByVal VendorID As Integer) 
As Boolean

Beim Aufruf der Funktion FindDevice erschien dann die Fehlermeldung:
EntryPointNotFoundException
Persönliche Seite #755327
Lesenswert?

Nun, dann musst Du Dir mit dumpbin die Exportnamen der DLL ansehen.

Das gibt auf meinem Rechner mit der DLL vom 5.6.07 (1.0.0.1) folgendes 
aus:
1
C:\>dumpbin /exports AtUsbHid.dll
2
Microsoft (R) COFF Binary File Dumper Version 6.00.8447
3
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
4

5

6
Dump of file AtUsbHid.dll
7

8
File Type: DLL
9

10
  Section contains the following exports for AtUsbHid.dll
11

12
           0 characteristics
13
    466558DC time date stamp Tue Jun 05 14:36:44 2007
14
        0.00 version
15
           1 ordinal base
16
          18 number of functions
17
          18 number of names
18

19
    ordinal hint RVA      name
20

21
          2    0 000019A4 closeDevice
22
          3    1 000011CF findHidDevice
23
          4    2 00001ECC getch
24
          5    3 00001FBC hidRegisterDeviceNotification
25
          6    4 00001FAB hidUnregisterDeviceNotification
26
          7    5 00002019 isMyDeviceNotification
27
          8    6 00001000 openDevice
28
          9    7 00001E7E putch
29
         10    8 00001CFC readContinuous
30
         11    9 00001D3B readData
31
         12    A 00001C2A readStandard
32
         13    B 00002069 setFeature
33
         14    C 00001AFE setReportContinuous
34
         15    D 00001F7F setTxPeriod
35
          1    E 00001E09 updateFeatureBytes
36
         16    F 00001D4B writeContinuous
37
         17   10 00001DF9 writeData
38
         18   11 00001B34 writeStandard
39

40
  Summary
41

42
        5000 .data
43
        2000 .rdata
44
        1000 .reloc
45
        1000 .rsrc
46
        9000 .text

Also wird die von Dir verwendete Funktion mit einem kleinen 
Anfangsbuchstaben geschrieben.
Gast #785917
Lesenswert?

Guten Abend zusammen,

wenn ich die atusbhid.dll in VB2005 eingebunden habe, wie kann ich denn 
über writedata und readdata Daten schreiben bzw. lesen?
Irgendwie hab ich keine Ahnung, wie man die Funktionen richtig in VB 
einbindet und aufruft.

Danke für die Hilfe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren