Forum: PC Hard- und Software Aufruf der atusbhid.dll mit Visual Basic 2005


von Oli (Gast)


Angehängte Dateien:

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

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Oli (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Oli (Gast)


Lesenswert?

nein, dass darf nicht wahr sein. Das ist wieder einmal typisch.

herzlichen dank für deine Hilfe

von anderer Olli (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.