Descarregando DLL de todos os processos após desatar o gancho global da CBT

<, p> Como você descarrega adequadamente uma DLL de todos os processos quando o gancho de todo o sistema que os carregou é descarregado?

DeMSDN:

Você pode liberar um procedimento de gancho global usando UnhookWindowsHookEx,mas essa função não libera a DLL que contém o procedimento de gancho. Isso ocorre porque os procedimentos de gancho globais são chamados no contexto do processo de todos os aplicativos da área de trabalho, causando uma chamada implícita à função LoadLibrary para todos esses processos. Como uma chamada para a função FreeLibrary não pode ser feita para outro processo, não há como liberar a DLL. O sistema libera a DLL depois que todos os processos explicitamente vinculados à DLL foram encerrados ou chamados FreeLibrary e todos os processos chamados procedimento de gancho retomaram o processamento fora da DLL.

Então, o que estou procurando é um método para detectar quando o gancho é desengatado e, em seguida, chamarFreeLibrary de todos os processos que foram viciados. Existem outras maneiras de causar o descarregamento instantâneo de uma DLL quando o gancho é descarregado?

questionAnswers(2)

yourAnswerToTheQuestion