start implement of DirectDraw_GetCaps

svn path=/trunk/; revision=27211
This commit is contained in:
Magnus Olsen 2007-06-17 11:22:23 +00:00
parent 588314ccad
commit 157883db74
2 changed files with 69 additions and 8 deletions

View file

@ -131,7 +131,7 @@ Main_DirectDraw_QueryInterface (LPDIRECTDRAW7 iface,
}
else
{
/* DirectDraw4 Vtable */
/* DirectDraw Vtable */
newThis->lpVtbl = &DirectDraw_Vtable;
newThis->lpLcl = This->lpLcl;
newThis->lpLink = This;
@ -451,6 +451,74 @@ Main_DirectDraw_GetFourCCCodes(LPDIRECTDRAW7 iface, LPDWORD lpNumCodes, LPDWORD
return retVal;
}
HRESULT WINAPI
Main_DirectDraw_GetCaps( LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps,
LPDDCAPS pHELCaps)
{
HRESULT retVal = DD_OK;
DX_WINDBG_trace();
if (!(IsBadWritePtr(pDriverCaps,sizeof(LPDDCAPS))))
{
if (!(IsBadWritePtr(pHELCaps,sizeof(LPDDCAPS))))
{
return DDERR_INVALIDPARAMS;
}
}
if ((IsBadWritePtr(pDriverCaps,sizeof(LPDDCAPS))))
{
/* Setup hardware caps */
switch (pDriverCaps->dwSize)
{
case sizeof(DDCAPS_DX1):
retVal = DDERR_INVALIDPARAMS;
break;
case sizeof(DDCAPS_DX3):
retVal = DDERR_INVALIDPARAMS;
break;
case sizeof(DDCAPS_DX5):
retVal = DDERR_INVALIDPARAMS;
break;
/* DDCAPS_DX6 is same as DDCAPS_DX7 */
case sizeof(DDCAPS_DX7):
retVal = DDERR_INVALIDPARAMS;
break;
default:
retVal = DDERR_INVALIDPARAMS;
break;
}
}
if ((IsBadWritePtr(pHELCaps,sizeof(LPDDCAPS))))
{
/* Setup hardware caps */
switch (pHELCaps->dwSize)
{
case sizeof(DDCAPS_DX1):
retVal = DDERR_INVALIDPARAMS;
break;
case sizeof(DDCAPS_DX3):
retVal = DDERR_INVALIDPARAMS;
break;
case sizeof(DDCAPS_DX5):
retVal = DDERR_INVALIDPARAMS;
break;
/* DDCAPS_DX6 is same as DDCAPS_DX7 */
case sizeof(DDCAPS_DX7):
retVal = DDERR_INVALIDPARAMS;
break;
default:
retVal = DDERR_INVALIDPARAMS;
break;
}
}
}
/*

View file

@ -57,13 +57,6 @@ Main_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface)
DX_STUB;
}
HRESULT WINAPI
Main_DirectDraw_GetCaps(LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps,
LPDDCAPS pHELCaps)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Main_DirectDraw_GetGDISurface(LPDIRECTDRAW7 iface,