#ifndef _NTLDR_H
#if (PHNT_MODE != PHNT_MODE_KERNEL)
/**
* The LdrUnloadDll routine unloads the specified DLL from the address space of the calling process.
*
* \param DllHandle A handle to the DLL module to unload, as returned by LdrLoadDll.
* \return NTSTATUS Successful or errant status.
* \sa https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-freelibrary
* \remarks Releases a loader reference, potentially running detach/notification callbacks and unmapping the
* image at the last reference. Do not use it for a borrowed base from an unchanged-refcount lookup.
*/
NTSYSAPI
NTSTATUS
NTAPI
LdrUnloadDll(
_In_ PVOID DllHandle
);
View code on GitHubNo description available.
In fact, ModuleHandle is virtual address of loaded module, not a typical HANDLE to object.