Share via


FreeLibraryAndExitThread, fonction (libloaderapi.h)

Décrémente le nombre de références d’une bibliothèque de liens dynamiques (DLL) chargée, puis appelle ExitThread pour arrêter le thread appelant. La fonction ne retourne pas.

Syntaxe

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

Paramètres

[in] hLibModule

Handle pour le module DLL dont les références comptent les décrémentations de la fonction. La fonction LoadLibrary ou GetModuleHandleEx retourne ce handle.

N’appelez pas cette fonction avec un handle retourné par la fonction GetModuleHandleEx (avec l’indicateur GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) ou la fonction GetModuleHandle , car elles ne conservent pas de nombre de références pour le module.

[in] dwExitCode

Code de sortie du thread appelant.

Valeur de retour

None

Remarques

La fonction FreeLibraryAndExitThread permet aux threads qui s’exécutent dans une DLL de libérer en toute sécurité la DLL dans laquelle ils s’exécutent et de s’arrêter eux-mêmes. S’ils appelaient FreeLibrary et ExitThread séparément, une condition de race existerait. La bibliothèque peut être déchargée avant l’appel de ExitThread .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête libloaderapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

DisableThreadLibraryCalls

Fonctions de bibliothèque de liens dynamiques

ExitThread

FreeLibrary

Liaison dynamique au moment de l’exécution