В основном, что вы делаете, это установить DLL, о которой идет речь, в раздел загрузки с задержкой. Он не будет загружать эту DLL, пока вы не сделаете вызов функции, находящейся в этой DLL.
Компоновщик Visual C++ теперь поддерживает задержанную загрузку библиотек DLL. Этот избавляет вас от необходимости использовать функции Windows SDK LoadLibrary и GetProcAddress для реализации замедленной загрузки DLL.
До Visual C++ 6.0 единственный способ загрузить DLL во время выполнения был с использованием LoadLibrary и GetProcAddress; операционная система загрузила бы DLL при загрузке исполняемого файла или библиотеки DLL.
Начиная с Visual C++ 6.0, при статической привязке к DLL, компоновщик предоставляет опции для задержки загрузки DLL до тех пор, пока программа не вызовет функцию в этой DLL.
Приложение может задерживать загрузку библиотеки DLL с использованием опции компоновщика со вспомогательной функцией (реализация по умолчанию предоставляется Visual C++). Вспомогательная функция загрузит DLL при запуске времени, вызвав для вас LoadLibrary и GetProcAddress.
Вы должны рассмотреть задержки загрузки DLL, если:
Ваша программа не может вызвать функцию в DLL.
Функция в DLL не может быть вызвана до конца в исполнении вашей программы .
Задержка загрузки DLL может быть указана при построении проекта .EXE или .DLL. Проект .DLL, который задерживает загрузку одной или нескольких библиотек DLL, сам по себе не должен вызывать задержанную точку входа в Dllmain.
Вы спрашиваете, как работает задержка или как его можно применить? – xtofl