Механизм загрузки динамических библиотек в Windows работает так: библиотека содержит откомпилированный процессорный код и ряд служебных таблиц, описывающих содержащиеся в ней функции. 1 По запросу программы или загрузчика исполняемых файлов Windows код библиотеки копируется в её адресное пространство и становится доступным для прямого вызова. 1
Перед началом исполнения программы загрузчик Windows проверяет записи в таблице импорта и автоматически подгружает необходимые библиотеки, а также при помощи специального механизма связывает указанные функции со ссылками внутри исполняемого файла. 1 Таким образом, загрузка библиотек происходит автоматически, без явного участия кода программы. 1
Существует и динамическая загрузка библиотек, когда код программы самостоятельно загружает библиотеки прямо по ходу исполнения. 1 Эта операция осуществляется, например, с помощью функции LoadLibrary, расположенной в kernel32.dll, которая должна быть подключена к программе статически. 1
Если библиотека DLL не может быть найдена или загружена, или вызываемая функция не существует, приложение генерирует исключение, которое может быть перехвачено и обработано соответствующим образом. 3 Если приложение не обработает исключение, оно будет перехвачено операционной системой, которая завершит работу программы с сообщением об ошибке. 3