For anyone that's interested: Found this on a search.
A dynamic link library (DLL) is a collection of small programs, which can be called upon when needed by the executable program (exe) that is running. The DLL lets the executable communicate with a specific device such as a printer or may contain source code to do particular functions.
An example would be if the program (exe) needs to get the free space of your hard drive it can call the DLL file that contains the function with parameters and a call function. The DLL will then tell the executable the free space. This allows the executable to be small in size and not need to rewrite the function that has already written. This allows any program needing to obtain the free space the information without having to write all the source code and it saves space on your hard drive as well. DLLs in this fashion are also known as shared files.
The advantage of DLL files is that, because they do not get loaded into random access memory (RAM) together with the main program, space is saved in RAM. When and if a DLL file is called, then it is loaded. For example, you are editing a Microsoft Word document, the printer DLL file does not need to be loaded into RAM. If you decide to print the document, then the printer DLL file is loaded and run.
All in all a DLL is an executable file that cannot run on its own, it can only run from inside an executable file. To do this an executable needs to declare the DLL function, then when needed the call is made with the required parameters. Here is what a Declaration and call might look like in a executable file. This example is simplified so that you might understand it better:
Declare GetFreeSpacex, Kernel32.dll (DriveLetter, Buffers if any, Value returned)
Now lets run a program and make the call, the DLL is not loaded into RAM until the next line.
GetFreeSpacex "C",0, MyFreeSpace
Now let's tell the user how much free space is on drive C
Use a MessageBox = "The free space on drive C: is ", MyFreeSpace, "bytes"
If a call or a declaration is made incorrectly a GPF may occur. A call to a DLL of a different version might require more or less parameters or the call may not exist. If a DLL is the wrong version for your OS (Operating System) or for a program that you have installed it will cause a General Page Fault (General Protection Fault) or lockup your machine. Generally a file that is older than your OS and is available in the Windows cabinet files is the wrong version. Also note that a file from Windows 98 may not be compatible with Windows 95. Many Windows 98 files work well on 95 but not all will. To fix these errors you should run QikFix's File Verifier and System Sentry.