Предотвращение выгрузки DLL, после завершения скриптов

 

Долго парился по этому вопросу, знаю способ, кому-нибудь интересно?

 

да
 

http://msdn.microsoft.com/en-us/library/ms683200%28v=vs.85%29.aspx

WinApi:

// Вызвать в библиотеке
HMODULE module;
GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_PIN,
                  TEXT("MyDll.dll"),               // Имя модуля
                  &module);
В итоге, библиотека выгузиться только после завершения процесса. Как-то "клинится" счетчик ссылок.
GetModuleHandleEx function (Windows)
  • msdn.microsoft.com
Retrieves a module handle for the specified module and increments the module's reference count unless GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT is specified. The module must have been loaded by the calling process. Syntax Parameters dwFlags [in] This parameter can be zero or one or more of the following values. If the module's reference...
 
Дело в том что если это не документированная особенность. что будет фактически означать что это баг,
то завязывать свой софт на это неразумно.
работать будет ло первого фикса.
 
Почему не документировано? Я ведь выложил ссылку на MSDN, там все расписано. Если функция отчиталась об успешном завершении, то гарантии дает Microsoft. Но никаких гарантий давать не буду.
Причина обращения: