Функция FreeLibraryAndExitThread (libloaderapi.h)

Уменьшает количество ссылок загруженной библиотеки динамической компоновки (DLL) на единицы, а затем вызывает ExitThread для завершения вызывающего потока. Функция не возвращает .

Синтаксис

void FreeLibraryAndExitThread(
  [in] HMODULE hLibModule,
  [in] DWORD   dwExitCode
);

Параметры

[in] hLibModule

Дескриптор для модуля DLL, для которого число ссылок уменьшает функцию. Функция LoadLibrary или GetModuleHandleEx возвращает этот дескриптор.

Не вызывайте эту функцию с дескриптором, возвращаемым функцией GetModuleHandleEx (с флагом GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) или функцией GetModuleHandle , так как они не поддерживают число ссылок для модуля.

[in] dwExitCode

Код выхода для вызывающего потока.

Возвращаемое значение

None

Remarks

Функция FreeLibraryAndExitThread позволяет потокам, выполняемым в библиотеке DLL, безопасно освобождать библиотеку DLL, в которой они выполняются, и завершать себя. Если бы они вызывали FreeLibrary и ExitThread отдельно, состояние гонки существовало бы. Библиотека может быть выгружена до вызова ExitThread .

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header libloaderapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

DisableThreadLibraryCalls

Функции библиотеки динамической компоновки

ExitThread

FreeLibrary

Динамическое связывание во время выполнения