FS>Параметр DONT_RESOLVE_DLL_REFERENCES заставляет ОС загружать DLL в пространство процесса не вызывая точку входа DLL (с параметрами DLL_PROCESS_ATTACH и др.). Вроде бы хорошо — мне эти вызовы и не требовались.
FS>Однако без этого невозможно вызывать из DLL внешние по отношению к ней функции, в т.ч. и выделения памяти, поэтому приходится:
Вообще DONT_RESOLVE_DLL_REFERENCES не резолвит таблицу импортов длл. Потому код дллки не сможет вызывать функции из других дллек. Т.е. попросту будет неюзабелен. Потому и DllMain вызывать нельзя. DONT_RESOLVE_DLL_REFERENCES используется например если нужно подгрузить ресурсную дллку не содержащую кода вообще (в некоторых случаях LOAD_LIBRARY_AS_DATAFILE не подходит для этогого)).
FS>Словил граблями в лоб. Бывает.
Ну так вы их себе очень заботливо подложили