DD_Cleanup(PVOID ObjectBody)
{
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(ObjectBody, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("DD_Cleanup\n");
+
if (!pDirectDraw)
return FALSE;
DD_CALLBACKS callbacks;
DD_SURFACECALLBACKS surface_callbacks;
DD_PALETTECALLBACKS palette_callbacks;
+ DPRINT1("NtGdiDdCreateDirectDrawObject\n");
RtlZeroMemory(&callbacks, sizeof(DD_CALLBACKS));
callbacks.dwSize = sizeof(DD_CALLBACKS);
RtlZeroMemory(&palette_callbacks, sizeof(DD_PALETTECALLBACKS));
palette_callbacks.dwSize = sizeof(DD_PALETTECALLBACKS);
-
+ /* FIXME hdc can be zero for d3d9 */
+ /* we need create it, if in that case */
+ if (hdc == NULL)
+ {
+ return NULL;
+ }
+
DC *pDC = DC_LockDc(hdc);
if (!pDC)
return NULL;
HANDLE hDirectDrawLocal
)
{
+ DPRINT1("NtGdiDdDeleteDirectDrawObject\n");
return GDIOBJ_FreeObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
}
)
{
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdQueryDirectDrawObject\n");
+
if (!pDirectDraw)
return FALSE;
DWORD ddRVal;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdGetDriverInfo\n");
+
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
{
DWORD ddRVal = DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
+ DPRINT1("NtGdiDdCreateSurface\n");
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
if (pDirectDraw == NULL)
{
DWORD ddRVal;
PDD_DIRECTDRAW_GLOBAL lgpl;
+ DPRINT1("NtGdiDdWaitForVerticalBlank\n");
+
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
if (pDirectDraw == NULL)
)
{
DWORD ddRVal;
- PDD_DIRECTDRAW_GLOBAL lgpl;
+ PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdCanCreateSurface\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdGetScanLine\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
DWORD ddRVal = DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdDestroySurface\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceTarget, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdFlip\n");
+
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdLock\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdUnlock\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceDest, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdBlt\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdSetColorKey\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceAttached, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdAddAttachedSurface\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdGetBltStatus\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdGetFlipStatus\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceDestination, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdUpdateOverlay\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceDestination, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdSetOverlayPosition\n");
if (pDirectDraw == NULL)
return DDHAL_DRIVER_NOTHANDLED;
/* FIXME: implement
* PDD_SURFACE pDDSurf = PVOID pDDSurf
*/
+ DPRINT1("DDSURF_Cleanup\n");
return TRUE;
}
)
{
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdCreateSurfaceObject\n");
if (!pDirectDraw)
return NULL;
HANDLE hSurface
)
{
+ DPRINT1("NtGdiDdDeleteSurfaceObject\n");
return GDIOBJ_FreeObj(hSurface, GDI_OBJECT_TYPE_DD_SURFACE);
}
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdGetAvailDriverMemory\n");
/* backup the orignal PDev and info */
lgpl = puGetAvailDriverMemoryData->lpDD;
PDD_DIRECTDRAW_GLOBAL lgpl;
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDraw, GDI_OBJECT_TYPE_DIRECTDRAW);
+ DPRINT1("NtGdiDdSetExclusiveMode\n");
/* backup the orignal PDev and info */
lgpl = puSetExclusiveModeData->lpDD;