Do not trust msdn what it say about dwContext in any struct "MSDN : it is not in use for windows nt", "My note: it is in use for all os, and it always point to DDRAWI_DIRECTDRAW_GBL.hDD and we doing that. now the callbacks works in startup process.
Modified: trunk/reactos/lib/ddraw/hal/ddraw.c

Modified: trunk/reactos/lib/ddraw/hal/ddraw.c
--- trunk/reactos/lib/ddraw/hal/ddraw.c	2005-10-29 18:57:45 UTC (rev 18854)
+++ trunk/reactos/lib/ddraw/hal/ddraw.c	2005-10-29 20:06:23 UTC (rev 18855)
@@ -131,10 +131,18 @@
 
 	/* Todo add a check see if HalInfo.GetDriverInfo is supported or not */
 
+	 /* Do not trust msdn what it say about dwContext it is not in use for 
+	    windows nt, it is in use for all os, and it always pont to 
+		DirectDrawGlobal.hDD                                             */
+
 	DDHAL_GETDRIVERINFODATA DriverInfo;
 	memset(&DriverInfo,0, sizeof(DDHAL_GETDRIVERINFODATA));
 	DriverInfo.dwSize = sizeof(DDHAL_GETDRIVERINFODATA);
+	DriverInfo.dwContext = DirectDrawGlobal.hDD; 
 
+	
+
+
 	/* Get ColorControlCallbacks  */	
 	DriverInfo.guidInfo = GUID_ColorControlCallbacks;
 	DriverInfo.lpvData = &This->DirectDrawGlobal.lpDDCBtmp->HALDDColorControl;
@@ -207,12 +215,12 @@
 	
 
 	/* Get the KernelCaps  */
-	/*
+	/* Need Alloc memmory for lpDDKernelCaps ?? */
 	DriverInfo.guidInfo = GUID_KernelCaps;
-	DriverInfo.lpvData = &misc;
-	DriverInfo.dwExpectedSize = sizeof(DDHAL_DDMISCELLANEOUSCALLBACKS);
+	DriverInfo.lpvData = &This->DirectDrawGlobal.lpDDKernelCaps;
+	DriverInfo.dwExpectedSize = sizeof(DDHAL_DDKERNELCALLBACKS);
 	This->HalInfo.GetDriverInfo( &DriverInfo);
-	*/
+	
 
 	/* Get the MiscellaneousCallbacks  */	
 	DriverInfo.guidInfo = GUID_MiscellaneousCallbacks;
@@ -229,8 +237,7 @@
 	This->HalInfo.GetDriverInfo( &DriverInfo);
     */
 
-	/* Get the MotionCompCallbacks  */	
-	
+	/* Get the MotionCompCallbacks  */		
 	DriverInfo.guidInfo = GUID_MotionCompCallbacks;
 	DriverInfo.lpvData = &This->DirectDrawGlobal.lpDDCBtmp->HALDDMotionComp;
 	DriverInfo.dwExpectedSize = sizeof(DDHAL_DDMOTIONCOMPCALLBACKS);