Ситуация такая. LoadLibraryA грузит нужную нам дллку. Эта либа при загрузке должна вызвать в отдельном потоке функцию, которая не возвращает управление... Кароч нужно 2 потока. Один для нашей функции, другой - чтобы вернуть управление Но! По непонятным причинам, в момент инициализации либы все потоки создаются замороженными, и разморозить их не удается никак (( Сперва думал, где-то ошибка Перепроверил... нет.... При инициализации нельзя создать работающий поток Что делать, как быть? Нужно 2 потока по любому...
1. http://www.wasm.ru/forum/viewtopic.php?id=17454 2. замороженный поток проснется после выхода из dllmain, в нем можно сделать все, что нужно, включая создание еще одного потока 3. чистая теория: возможно, APC (QueueUserAPC) для созданного потока вызовется сразу, но это опасно, так как dllки для него еще не проинициализированны\ 4. тоже теория: возможно, что APC для текущего потока сработает при выходе из dllmain а может и нет..
SetTimer на время, явно большее времени отработки ф-и DllMain не подойдет? Еще можно попробовать TLS.
ни какого но... как только все длл мэйны отработают (все либы подгрузятся), начнётся выполнение с точки входа твоего потока, там запускаешь поток с функой из либы, и всё крутится... зы:
Никакой ошибки тут походу нет.Это своего рода особенность инициализации библиотеки.Вот две цитаты из актуальной ветки MSDN: