DllMain() is the entry point of any Win32 DLL. The function prototype and description are as follows.
Prototype:

BOOL APIENTRY DllMain(
HANDLE hModule,
DWORD  ul_reason_for_call,
LPVOID lpReserved);

Return value: 0 for success, non zero for error.
APIENTRY - tells the compiler that it is an external/exported function.
hModule - This is the instance handle of the Loaded DLL.
ul_reason_for_call - reason for calling this DllMain() from Win32 subsystem
lpReserved - reserved variable.

ul_reason_for_call can have the following values

  1. DLL_PROCESS_ATTACH (value 1) - when a process attaches to the DLL
  2. DLL_THREAD_ATTACH (value 2) - when a thread attaches to the DLL
  3. DLL_THREAD_DETACH (value 3) - when a thread detaches from the DLL
  4. DLL_PROCESS_DETACH (value 0) - when a process detaches from the DLL

About our authors: Team EQA

You have viewed 1 page out of 27. Your DLL learning is 0.00% complete. Login to check your learning progress.

#