Actually call the DDRAW_DllRegisterServer() and DDRAW_DllUnregisterServer() functions from DllMain.
Modified: trunk/reactos/lib/ddraw/regsvr.c

Modified: trunk/reactos/lib/ddraw/regsvr.c
--- trunk/reactos/lib/ddraw/regsvr.c	2005-08-05 20:30:42 UTC (rev 17077)
+++ trunk/reactos/lib/ddraw/regsvr.c	2005-08-05 20:46:20 UTC (rev 17078)
@@ -495,3 +495,21 @@
 	hr = unregister_interfaces(interface_list);
     return hr;
 }
+
+BOOL WINAPI DllMain(HINSTANCE hInstance,DWORD fwdReason, LPVOID lpvReserved)
+{
+    switch(fwdReason)
+    {
+        case DLL_PROCESS_ATTACH:
+			DDRAW_DllRegisterServer();
+            break;
+        case DLL_THREAD_ATTACH:
+            break;
+        case DLL_PROCESS_DETACH:
+			DDRAW_DllUnregisterServer();
+            break;
+        case DLL_THREAD_DETACH:
+            break;
+    }
+    return(TRUE);
+}