Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
220Volt
1175
220Volt  

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

o_o
Модератор
24724
o_o  

да
220Volt
1175
220Volt  

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...
Yuriy Zaytsev
16601
Yuriy Zaytsev  
Дело в том что если это не документированная особенность. что будет фактически означать что это баг,
то завязывать свой софт на это неразумно.
работать будет ло первого фикса.
220Volt
1175
220Volt  
Почему не документировано? Я ведь выложил ссылку на MSDN, там все расписано. Если функция отчиталась об успешном завершении, то гарантии дает Microsoft. Но никаких гарантий давать не буду.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий