# [VB6] Funktionsparameter DLL



## Tensi (6. Juli 2005)

Hi!

Habe ein Problem mit einer DLL die ich unter VB6 benutzen möchte. Die zugehörige Beispiel-App ist leider in C++ geschrieben, mit der ich nicht viel anfangen kann.
Mir ist klar wie ich die Funktionen der DLL grundsätzlich bekanntgebe (z. b. Public Declare Function MPUSBOpen Lib "mpusbapi" Alias "_MPUSBOpen" () As Long), jedoch kann ich mit den Übergabeparametern aus dem u. g. c++ header nichts anfangen (z. B. instance, HANDLE, ...)


```
extern "C" __declspec(dllexport)
HANDLE MPUSBOpen(DWORD instance,    // Input
                 PCHAR pVID_PID,    // Input
                 PCHAR pEP,         // Input
                 DWORD dwDir,       // Input
                 DWORD dwReserved); // Input <Future Use>

extern "C" __declspec(dllexport)
DWORD MPUSBRead(HANDLE handle,              // Input
                PVOID pData,                // Output
                DWORD dwLen,                // Input
                PDWORD pLength,             // Output
                DWORD dwMilliseconds);      // Input
```

Vielleicht kann mir jemand sagen, wie ich die DLL-Funktion in VB bekanntgebe/benutze.

Vielen Dank schon jetzt für die Antworten

Gruß, Tensi


----------



## Zvoni (12. November 2008)

So, mal wieder Leichen fleddern ^^
Ich weiss der Thread ist gefühlte 1000 Jahre alt, aber da der User nie eine Antwort erhalten hat, und der Thread nicht als erledigt gekennzeichnet wurde, denke ich, dass es dennoch genug Leute gibt, für die so etwas interessant sein sollte.


```
extern "C" __declspec(dllexport)
HANDLE MPUSBOpen(DWORD instance,    // Input
                 PCHAR pVID_PID,    // Input
                 PCHAR pEP,         // Input
                 DWORD dwDir,       // Input
                 DWORD dwReserved); // Input <Future Use>
```

Declare wie folgt:

```
Declare Function MPUSBOpen Lib "mpusbapi.dll" _
(ByVal instance As Long, _
 ByRef pVID_PID As String, _
 ByRef pEP As String, _
 ByVal dwDir As Long, _
 ByVal dwReserved As Long) As Long
```


```
extern "C" __declspec(dllexport)
DWORD MPUSBRead(HANDLE handle,              // Input
                PVOID pData,                // Output
                DWORD dwLen,                // Input
                PDWORD pLength,             // Output
                DWORD dwMilliseconds);      // Input
```

Declare wie folgt:

```
Declare Function MPUSBRead Lib "mpusbapi.dll" _
(ByVal handle As Long, _
 ByRef pData As Any, _
 ByVal dwLen As Long, _
 ByRef pLength As Long, _
 ByVal dwMilliseconds As Long) As Long
```

Kleiner Tip von mir: Was VB und der Kontakt mit DLL's, die in C/C++ geschrieben wurden, empfehle ich die Bücher von Dan Appleman und Bruce McKinney.


----------

