Author: greatlrd Date: Sat May 24 03:08:10 2008 New Revision: 33669
URL: http://svn.reactos.org/svn/reactos?rev=33669&view=rev Log: Fixed so the branch can be compile gdi32 : DllMain make it work simluare as windows xp/vista does
Modified: branches/win32k-gdi-dx/dll/win32/gdi32/main/dllmain.c branches/win32k-gdi-dx/dll/win32/gdi32/misc/gdientry.c branches/win32k-gdi-dx/dll/win32/gdi32/misc/stubs.c branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db
Modified: branches/win32k-gdi-dx/dll/win32/gdi32/main/dllmain.c URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/dll/win32/gdi32/ma... ============================================================================== --- branches/win32k-gdi-dx/dll/win32/gdi32/main/dllmain.c [iso-8859-1] (original) +++ branches/win32k-gdi-dx/dll/win32/gdi32/main/dllmain.c [iso-8859-1] Sat May 24 03:08:10 2008 @@ -15,18 +15,26 @@ PGDIHANDLECACHE GdiHandleCache = NULL;
/* - * GDI32.DLL doesn't have an entry point. The initialization is done by a call + * GDI32.DLL does have an entry point for disable threadlibrarycall,. The initialization is done by a call * to GdiDllInitialize(). This call is done from the entry point of USER32.DLL. */ BOOL WINAPI DllMain ( - HANDLE hDll, - DWORD dwReason, - LPVOID lpReserved - ) + HANDLE hDll, + DWORD dwReason, + LPVOID lpReserved) { - return TRUE; + switch (dwReason) + { + case DLL_PROCESS_ATTACH : + DisableThreadLibraryCalls(hDll); + break; + + default: + break; + } + return TRUE; }
@@ -34,15 +42,15 @@ WINAPI GdiProcessSetup (VOID) { - hProcessHeap = GetProcessHeap(); + hProcessHeap = GetProcessHeap();
/* map the gdi handle table to user space */ - GdiHandleTable = NtCurrentTeb()->ProcessEnvironmentBlock->GdiSharedHandleTable; - GdiSharedHandleTable = NtCurrentTeb()->ProcessEnvironmentBlock->GdiSharedHandleTable; - GdiDevCaps = &GdiSharedHandleTable->DevCaps; - CurrentProcessId = NtCurrentTeb()->Cid.UniqueProcess; - GDI_BatchLimit = (DWORD) NtCurrentTeb()->ProcessEnvironmentBlock->GdiDCAttributeList; - GdiHandleCache = (PGDIHANDLECACHE)NtCurrentTeb()->ProcessEnvironmentBlock->GdiHandleBuffer; + GdiHandleTable = NtCurrentTeb()->ProcessEnvironmentBlock->GdiSharedHandleTable; + GdiSharedHandleTable = NtCurrentTeb()->ProcessEnvironmentBlock->GdiSharedHandleTable; + GdiDevCaps = &GdiSharedHandleTable->DevCaps; + CurrentProcessId = NtCurrentTeb()->Cid.UniqueProcess; + GDI_BatchLimit = (DWORD) NtCurrentTeb()->ProcessEnvironmentBlock->GdiDCAttributeList; + GdiHandleCache = (PGDIHANDLECACHE)NtCurrentTeb()->ProcessEnvironmentBlock->GdiHandleBuffer; }
@@ -52,34 +60,33 @@ BOOL WINAPI GdiDllInitialize ( - HANDLE hDll, - DWORD dwReason, - LPVOID lpReserved - ) + HANDLE hDll, + DWORD dwReason, + LPVOID lpReserved) { - switch (dwReason) - { - case DLL_PROCESS_ATTACH: - GdiProcessSetup (); - break; + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + GdiProcessSetup (); + break;
- case DLL_THREAD_ATTACH: + case DLL_THREAD_ATTACH: NtCurrentTeb()->GdiTebBatch.Offset = 0; NtCurrentTeb()->GdiBatchCount = 0; - break; + break;
- default: - return FALSE; - } + default: + return FALSE; + }
- // Very simple, the list will fill itself as it is needed. + // Very simple, the list will fill itself as it is needed. if(!SetStockObjects) { RtlZeroMemory( &stock_objects, NB_STOCK_OBJECTS); //Assume Ros is dirty. SetStockObjects = TRUE; }
- return TRUE; + return TRUE; }
/* EOF */
Modified: branches/win32k-gdi-dx/dll/win32/gdi32/misc/gdientry.c URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/dll/win32/gdi32/mi... ============================================================================== --- branches/win32k-gdi-dx/dll/win32/gdi32/misc/gdientry.c [iso-8859-1] (original) +++ branches/win32k-gdi-dx/dll/win32/gdi32/misc/gdientry.c [iso-8859-1] Sat May 24 03:08:10 2008 @@ -2072,3 +2072,4 @@
+
Modified: branches/win32k-gdi-dx/dll/win32/gdi32/misc/stubs.c URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/dll/win32/gdi32/mi... ============================================================================== --- branches/win32k-gdi-dx/dll/win32/gdi32/misc/stubs.c [iso-8859-1] (original) +++ branches/win32k-gdi-dx/dll/win32/gdi32/misc/stubs.c [iso-8859-1] Sat May 24 03:08:10 2008 @@ -2325,3 +2325,12 @@ return 0; }
+DWORD +WINAPI +D3DKMTOpenAdapterFromGdiDisplayName(DWORD x1) +{ + UNIMPLEMENTED; + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; +} +
Modified: branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/include/reactos/wi... ============================================================================== --- branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h [iso-8859-1] (original) +++ branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h [iso-8859-1] Sat May 24 03:08:10 2008 @@ -729,7 +729,7 @@ DWORD STDCALL NtGdiDDCCIGetCapabilitiesString(DWORD x1, DWORD x2, DWORD x3); DWORD STDCALL NtGdiDDCCIGetCapabilitiesStringLength(DWORD x1, DWORD x2); DWORD STDCALL NtGdiDDCCIGetTimingReport(DWORD x1, DWORD x2); -DWORD STDCALL NtGdiDDCCIGetVCPFeature(DWORD x1, DWORD x2, DWORD x3, DWORD x4); +DWORD STDCALL NtGdiDDCCIGetVCPFeature(DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5); DWORD STDCALL NtGdiDDCCISaveCurrentSettings(DWORD x1); DWORD STDCALL NtGdiDDCCISetVCPFeature(DWORD x1, DWORD x2, DWORD x3);
Modified: branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/subsystems/win32/w... ============================================================================== --- branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c [iso-8859-1] (original) +++ branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c [iso-8859-1] Sat May 24 03:08:10 2008 @@ -100,10 +100,12 @@ return 0; }
+DWORD +STDCALL NtGdiDdDDIDestroyContext(DWORD x1) { UNIMPLEMENTED; - return 0; + return 0; }
DWORD @@ -196,7 +198,7 @@
DWORD STDCALL -NtGdiDdDDIGetProcessSchedulingPriorityClass +NtGdiDdDDIGetProcessSchedulingPriorityClass(DWORD x1, DWORD x2) { UNIMPLEMENTED; return 0; @@ -372,7 +374,7 @@
DWORD STDCALL -NtGdiDdDDISetProcessSchedulingPriorityClass(DWORD x1, x2) +NtGdiDdDDISetProcessSchedulingPriorityClass(DWORD x1, DWORD x2) { UNIMPLEMENTED; return 0; @@ -407,7 +409,7 @@ NtGdiDdDDISharedPrimaryUnLockNotification(DWORD x1) { UNIMPLEMENTED; - return 0 + return 0; }
DWORD @@ -415,7 +417,7 @@ NtGdiDdDDISignalSynchronizationObject(DWORD x1) { UNIMPLEMENTED; - return 0 + return 0; }
DWORD @@ -423,7 +425,7 @@ NtGdiDdDDIUnlock(DWORD x1) { UNIMPLEMENTED; - return 0 + return 0; }
DWORD @@ -484,7 +486,7 @@
DWORD STDCALL -NtGdiDDCCIGetVCPFeature(DWORD x1, DWORD x2, DWORD x3, DWORD x4) +NtGdiDDCCIGetVCPFeature(DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5) { UNIMPLEMENTED; return 0; @@ -498,10 +500,9 @@ return 0; }
-DWORD -STDCALL -NtGdiDDCCISetVCPFeature(DWORD x1, DWORD x2, DWORD x3) -{ - UNIMPLEMENTED; - return 0; -} +DWORD STDCALL NtGdiDDCCISetVCPFeature(DWORD x1, DWORD x2, DWORD x3) +{ + UNIMPLEMENTED; + return 0; +} +
Modified: branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/subsystems/win32/w... ============================================================================== --- branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] (original) +++ branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] Sat May 24 03:08:10 2008 @@ -721,7 +721,7 @@ NtGdiDdDDISetDisplayMode 1 NtGdiDdDDISetDisplayPrivateDriverFormat 1 NtGdiDdDDISetGammaRamp 1 -NtGdiDdDDISetProcessSchedulingPriorityClass 1 +NtGdiDdDDISetProcessSchedulingPriorityClass 2 NtGdiDdDDISetQueuedLimit 1 NtGdiDdDDISetVidPnSourceOwner 1 NtGdiDdDDISharedPrimaryLockNotification 1 @@ -735,7 +735,7 @@ NtGdiDDCCIGetCapabilitiesString 3 NtGdiDDCCIGetCapabilitiesStringLength 2 NtGdiDDCCIGetTimingReport 2 -NtGdiDDCCIGetVCPFeature 4 +NtGdiDDCCIGetVCPFeature 5 NtGdiDDCCISaveCurrentSettings 1 NtGdiDDCCISetVCPFeature 3 #