From 03e3c42104f6f232573166d1b7f631305392d79d Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Thu, 6 Oct 2005 21:18:59 +0000 Subject: [PATCH] NtGdiDdGetAvailDriverMemory - implement the code but the pointer is not set to DdGetAvailDriverMemory and it is undtested. svn path=/trunk/; revision=18301 --- reactos/subsys/win32k/include/intddraw.h | 4 +++ reactos/subsys/win32k/ntddraw/ddraw.c | 31 ++++++++++++++++++------ reactos/subsys/win32k/ntddraw/stubs.c | 8 ------ 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/reactos/subsys/win32k/include/intddraw.h b/reactos/subsys/win32k/include/intddraw.h index dad1d449d3b..dc8dc187dba 100644 --- a/reactos/subsys/win32k/include/intddraw.h +++ b/reactos/subsys/win32k/include/intddraw.h @@ -47,6 +47,10 @@ typedef struct PDD_SURFCB_UPDATEOVERLAY DdUpdateOverlay; PDD_SURFCB_SETOVERLAYPOSITION DdSetOverlayPosition; PDD_SURFCB_SETPALETTE DdSetPalette; + // Miscellaneous Callback Function + PDD_GETAVAILDRIVERMEMORY DdGetAvailDriverMemory; + // NT callbacks + DD_FREEDRIVERMEMORYDATA DdFreeDriverMemory; // Palette callbacks PDD_PALCB_DESTROYPALETTE DdDestroyPalette; PDD_PALCB_SETENTRIES DdSetEntries; diff --git a/reactos/subsys/win32k/ntddraw/ddraw.c b/reactos/subsys/win32k/ntddraw/ddraw.c index b6822869713..97f7c704b4e 100644 --- a/reactos/subsys/win32k/ntddraw/ddraw.c +++ b/reactos/subsys/win32k/ntddraw/ddraw.c @@ -302,8 +302,7 @@ DWORD STDCALL NtGdiDdGetDriverInfo( PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW); - - ddRVal = pDirectDraw->DrvGetDirectDrawInfo( + ddRVal = pDirectDraw->DrvGetDirectDrawInfo( pDirectDraw->Global.dhpdev,(PDD_HALINFO) puGetDriverInfoData, &pdwNumHeaps, pvmList, &pdwNumFourCC, pdwFourCC); @@ -321,9 +320,7 @@ DWORD STDCALL NtGdiDdWaitForVerticalBlank( { DWORD ddRVal; PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW); - - puWaitForVerticalBlankData->lpDD = pDirectDraw->Local.lpGbl; - + ddRVal = pDirectDraw->DdWaitForVerticalBlank(puWaitForVerticalBlankData); GDIOBJ_UnlockObjByPtr(pDirectDraw); @@ -341,8 +338,6 @@ DWORD STDCALL NtGdiDdCanCreateSurface( PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW); - puCanCreateSurfaceData->lpDD = pDirectDraw->Local.lpGbl; - ddRVal = pDirectDraw->DdCanCreateSurface(puCanCreateSurfaceData); GDIOBJ_UnlockObjByPtr(pDirectDraw); @@ -373,6 +368,28 @@ DWORD STDCALL NtGdiDdBlt( return ddRVal; } + /* FIXME + this call is not implement yet + where to get the pointer DdGetAvailDriverMemory(puGetAvailDriverMemoryData + for the call in NtGdiDdCreateDirectDrawObject `?? + or some where else ?? + */ + +DWORD STDCALL NtGdiDdGetAvailDriverMemory( + HANDLE hDirectDrawLocal, + PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData +) +{ + DWORD ddRVal; + + PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW); + + ddRVal = pDirectDraw->DdGetAvailDriverMemory(puGetAvailDriverMemoryData); + + GDIOBJ_UnlockObjByPtr(pDirectDraw); + + return ddRVal; +} diff --git a/reactos/subsys/win32k/ntddraw/stubs.c b/reactos/subsys/win32k/ntddraw/stubs.c index 4bf44d2fffe..a1c1103350c 100644 --- a/reactos/subsys/win32k/ntddraw/stubs.c +++ b/reactos/subsys/win32k/ntddraw/stubs.c @@ -14,15 +14,7 @@ #include -DWORD STDCALL NtGdiDdGetAvailDriverMemory( - HANDLE hDirectDrawLocal, - PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData -) -{ - UNIMPLEMENTED - return 0; -} BOOL STDCALL NtGdiD3dContextCreate( HANDLE hDirectDrawLocal,