-
I was wondering if there was such a program that will
show you all the available calls or procedures
in a DLL file and the variables they expect to
be passed. For instance I could call routines
through dlls instead of using OCX controls to
eliminate the mixxing OCX error messages...
-
You can find out the names of the functions within a dll using Quick View, but you need to find out from the dll's creator(s) what arguments each function expects. There's no magic way to determine it as far as I am aware.
-
Harry
Surely there should be a way though. As each of the calls are programmed with a standard interface and putting anything but the required parameters causes an error I would have thought there has to be "something" that could do this.
I have tried for years to "discover" the contents of the RNAUI.DLL in Windows95/98 to be able to create (not just execute) a Dial-up Networking Connectoid with no luck!!
:(
-
I have some software (VB) that came with an API book that shows all the imports and exports of a DLL. I haven't got the code here at work but I have posted it here before about a month or two ago.
Take a read through this http://forums.vb-world.net/showthrea...threadid=21258
-
Maybe this might help !
Source: Element K Journals.
Uncover internal DLL functions with Dependency Walker
While the Windows API functions are fairly well documented, you
may come across other DLL files that remain a mystery. For
example, suppose you want to incorporate the MIDAS digital audio
player into your application. The help files that come with this
free DLL list all the important external function names. However,
because the DLL doesn't support Visual Basic, you must hook into
the DLL with API declarations. The internal names supported in
this library aren't in the help files.
To unravel this mystery, you can use the Dependency Walker, a
handy utility that comes with Visual Studio (appears as Depends
on the Windows program menu). Simply point the utility to the
DLL in question, and it will list all the internal file names
that you'll need to refer to in your API declarations. For
example, in the MIDAS DLL, you use a function called
MIDASplayModule to play a sound module. However, the internal
name for the function is _MIDASplayModule@8. As a result, you
must declare the function in Visual Basic like so
Code:
Declare Function MIDASplayModule Lib "midas11.dll" Alias _
"_MIDASplayModule@8" (ByVal module As Long, ByVal loopSong _
As Boolean) As Long
Using the Dependency Walker on MIDAS, you could quickly and
easily determine the library's internal function names.
-
Function names aren't a problem... we can get that in an instant with QuickView.
Its the parameters, how many there are, what type they are, if they are ByVal or not, and how they are defined in order to MAKE the call that is the problem.
Dependancy Walker gives you the :
"_MIDASplayModule@8"
But it doesn't give you the :
(ByVal module As Long, ByVal loopSong As Boolean) As Long