.386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib .data .data? .code DLLEntry proc hInstDLL:DWORD, reason:DWORD, unused:DWORD .if reason == DLL_PROCESS_ATTACH ; initialisation code for when DLL is loaded mov eax,TRUE ; put TRUE in EAX to continue loading the DLL .elseif reason == DLL_PROCESS_DETACH ; exit code for when DLL unloaded .elseif reason == DLL_THREAD_ATTACH ; code for when a thread is created in the process .elseif reason == DLL_THREAD_DETACH ; code for when a thread is destroyed in the process .endif Ret DLLEntry Endp ExpFunc1 proc ; code for first exported function here Ret ExpFunc1 EndP end DLLEntry