|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
FreeLibrary
The FreeLibrary function decrements the reference count of the loaded dynamic-link library (DLL) module. When the reference count reaches zero, the module is unmapped from the address space of the calling process and the handle is no longer valid. This function supersedes the FreeModule function.
BOOL FreeLibrary(
HMODULE hLibModule // handle to loaded library module );
Parameters
hLibModule
Identifies the loaded library module. The LoadLibrary or GetModuleHandle function returns this handle.
Return Values
If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
Each process maintains a reference count for each loaded library module. This reference count is incremented each time LoadLibrary is called and is decremented each time FreeLibrary is called. A DLL module loaded at process initialization due to load-time dynamic linking has a reference count of one. This count is incremented if the same module is loaded by a call to LoadLibrary. Before unmapping a library module, the system enables the DLL to detach from the process by calling the DLL's DllEntryPoint function, if it has one, with the DLL_PROCESS_DETACH value. Doing so gives the DLL an opportunity to clean up resources allocated on behalf of the current process. After the entry-point function returns, the library module is removed from the address space of the current process.
Calling FreeLibrary does not affect other processes using the same library module.
See Also
DllEntryPoint, FreeLibraryAndExitThread, FreeModule, GetModuleHandle, LoadLibrary
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
FreeLibrary
Функциональные декременты FreeLibrary счет ссылки динамической связи загруженной библиотеки (DLL) модуля. Когда счет ссылки достигает нуля, модуль unmapped из пространства адреса вызова процесса и ручка больше правильная. Эта функция заменяет функцию FreeModule.
BOOL FreeLibrary(
РУЧКА HMODULE hLibModule // на загружала библиотечный модуль );
Параметры
hLibModule
Идентифицирует загруженный библиотечный модуль. LoadLibrary Или функциональный возврат GetModuleHandle этой ручки.
Обратные Величины
Если функция добивается успеха, обратная величина ненулевая. Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError.
Замечания
Каждый процесс поддерживается, ссылка имеет значение каждую загрузившую библиотечный модуль. Этот счет ссылки увеличен всякий раз, когда LoadLibrary назван и - decremented всякий раз, когда FreeLibrary назван. Модуль DLL загруженный в инициализации процесса из-за загрузки-времени динамической связи имеет счет ссылки одного. Этот счет увеличен если тот же модуль загружен вызовом на LoadLibrary. Перед unmapping библиотечный модуль, системный допустимый DLL, чтобы отделяться из процесса вызывая функцию DLL's DllEntryPoint, если это имеет один, с величиной DLL_PROCESS_DETACH. Делая так дает DLL возможность наводить порядок ресурсы распределенные от имени текущего процесса. После того, как вход-точка функции возвращается, библиотечный модуль удален из пространства адреса текущего процесса.
Вызов FreeLibrary не влияет на другие процессы, использовавшие тот же библиотечный модуль.
Смотри Также
DllEntryPoint, FreeLibraryAndExitThread, FreeModule, GetModuleHandle, LoadLibrary
|
|
|
|
| |