When linking a DLL with any of the C run-time libraries, you must specify the following the entry point for the DLL.
-entry:_DllMainCRTStartup$(DLLENTRY)
This entry point is exported from the C run-time libraries and performs necessary initialization. The $(DLLFLAGS) macro in WIN32.MAK includes the -entry flag shown above.
DllMainCRTStartup will call your entry point if you name it DllMain and export it from your DLL. Therefore, your DLL entry-point function will look something like this:
BOOL WINAPI DllMain( HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpReserved )
{
if( fdwReason==DLL_PROCESS_ATTACH || fdwReason==DLL_THREAD_ATTACH )
...
if( fdwReason==DLL_PROCESS_DETACH || fdwReason==DLL_THREAD_DETACH )
...
return( TRUE );
}
For more information, see DllMain.