dllxlist is a command-line program that lists the exportable functions (if any) in a given DLL or EXE file, along with the ordinal numbers and entry points for the functions. There are 2 instances where I tend to use this information:
1. If I'm curious about the functions I can call from a certain DLL, I can run this program against the DLL to see what's available.
2. If I've written a program and I get an error like: "The TEST.EXE file is linked to missing export SOMETHING.DLL:1234" when it runs on another machine, I can often run dllxlist against a newer version of the DLL and find out what function is being called that is missing from the older DLL (the "1234" in the error message is the ordinal number of the function that's being called). This is especially handy if you're trying to figure out why an R5 API program doesn't work with a 4.6 client...
I added the /o: option to make it easier to batch this program, if you want to. You can also use the following kind of command at the DOS prompt to run dllxlist against several files at once:
for %I in ( c:\mydir\*.dll ) do dllxlist %I >> c:\dllexp.txt
Note that if you run that command from a batch file, you'll need to specify the variable with two percent signs (%%I), not one.
download dllxlist (14KB)
If you're really curious about the structure of DLL files (which are really "Portable Executable" or "PE" files in Windows), here's a reference with source code and information, by one Bernd Luevelsmeyer. You can also get some really good information about accessing DLL and EXE internals using C++ from Matt Pietrek's site. And there's a nice little free program (source not included) called PEBrowse Professional that will give you all sorts of information about DLLs and EXEs, including disassembled DLL functions.