La dllMain è opzionale, in una DLL potresti nn metterla, se però usi dati pubblici globali e hai bisogno di sapere quanti processi e threads si collegano alla tua dll puoi usare la dll main per tenerne traccia.

comunque una definizione base della DllMain potrebbe essere

codice:
BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    switch (ul_reason_for_call)
	{
		case DLL_PROCESS_ATTACH:
		case DLL_THREAD_ATTACH:
		case DLL_THREAD_DETACH:
		case DLL_PROCESS_DETACH:
			break;
    }
    return TRUE;
}
devi semplicemente metterla così com'è nel tuo codice, ricorda di includere windows.h e di linkare come dll, inoltre se usi un file def anche la dllmain va inserita nei simbli da esportare.