When the system starts a program that uses load-time dynamic linking, it uses the information in the file to locate the names of the required DLL(s). The system then searches for the DLLs in the following locations, in sequence:
1.The directory that contains the module for the current process.
2.The current directory.
3.The Windows system directory. The GetSystemDirectory function retrieves the path of this directory.
4.The Windows directory. The GetWindowsDirectory function retrieves the path of this directory.
5.The directories listed in the PATH environment variable.
If the system cannot locate a specified DLL, it terminates the process and displays a dialog box that reports the error. Otherwise, the system maps the DLL modules into the virtual address space of the process and increments the DLL reference count.
The operating system calls the entry-point function. The function receives a code indicating that the process is loading the DLL. If the entry-point function does not return TRUE, the system terminates the process and reports the error. For more information about the entry-point function, see Dynamic-Link Library Entry-Point Function.
Finally, the system modifies the code of the process to provide starting addresses for the referenced DLL functions.
The DLL is mapped into the virtual address space of the process during its initialization and is loaded into physical memory only when needed.