mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
commit GetDeviceIdentifier and GetDeviceIdentifier7 both are under devloping, I hope I finish this implement today
svn path=/trunk/; revision=27084
This commit is contained in:
parent
8ef4afc835
commit
535019cbf6
3 changed files with 62 additions and 9 deletions
|
@ -6,7 +6,8 @@ HRESULT WINAPI Main_DirectDraw_Compact(LPDIRECTDRAW7 );
|
|||
HRESULT WINAPI Main_DirectDraw_CreateClipper(LPDIRECTDRAW7, DWORD, LPDIRECTDRAWCLIPPER *, IUnknown *);
|
||||
HRESULT WINAPI Main_DirectDraw_CreatePalette(LPDIRECTDRAW7, DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE*, LPUNKNOWN);
|
||||
HRESULT WINAPI Main_DirectDraw_DuplicateSurface(LPDIRECTDRAW7, LPDIRECTDRAWSURFACE7, LPDIRECTDRAWSURFACE7*);
|
||||
HRESULT WINAPI Main_DirectDraw_GetDeviceIdentifier(LPDIRECTDRAW7, LPDDDEVICEIDENTIFIER2, DWORD);
|
||||
HRESULT WINAPI Main_DirectDraw_GetDeviceIdentifier(LPDIRECTDRAW4, LPDDDEVICEIDENTIFIER, DWORD);
|
||||
HRESULT WINAPI Main_DirectDraw_GetDeviceIdentifier7(LPDIRECTDRAW7, LPDDDEVICEIDENTIFIER2, DWORD);
|
||||
|
||||
HRESULT WINAPI Main_DirectDraw_EnumSurfaces(LPDIRECTDRAW7, DWORD, LPDDSURFACEDESC2, LPVOID,
|
||||
LPDDENUMSURFACESCALLBACK7);
|
||||
|
@ -39,7 +40,7 @@ HRESULT WINAPI Main_DirectDraw_CreatePalette(LPDIRECTDRAW7, DWORD, LPPALETTEENTR
|
|||
HRESULT WINAPI Main_DirectDraw_CreateSurface(LPDIRECTDRAW, LPDDSURFACEDESC, LPDIRECTDRAWSURFACE *, IUnknown *);
|
||||
HRESULT WINAPI Main_DirectDraw_CreateSurface4(LPDIRECTDRAW7, LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE7 *, IUnknown *);
|
||||
HRESULT WINAPI Main_DirectDraw_DuplicateSurface(LPDIRECTDRAW7, LPDIRECTDRAWSURFACE7, LPDIRECTDRAWSURFACE7*);
|
||||
HRESULT WINAPI Main_DirectDraw_GetDeviceIdentifier(LPDIRECTDRAW7, LPDDDEVICEIDENTIFIER2, DWORD);
|
||||
|
||||
|
||||
HRESULT WINAPI Main_DirectDraw_EnumSurfaces(LPDIRECTDRAW7, DWORD, LPDDSURFACEDESC2, LPVOID,
|
||||
LPDDENUMSURFACESCALLBACK7);
|
||||
|
|
|
@ -413,6 +413,64 @@ Main_DirectDraw_CreateSurface4(LPDIRECTDRAW7 iface, LPDDSURFACEDESC2 pDDSD,
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* For DirectDraw 4 - 6 */
|
||||
HRESULT WINAPI
|
||||
Main_DirectDraw_GetDeviceIdentifier(LPDIRECTDRAW4 iface,
|
||||
LPDDDEVICEIDENTIFIER pDDDI, DWORD dwFlags)
|
||||
{
|
||||
HRESULT retVal = DD_OK;
|
||||
DDDEVICEIDENTIFIER2 pDDDI2;
|
||||
|
||||
ZeroMemory(&pDDDI2,sizeof(DDDEVICEIDENTIFIER2));
|
||||
|
||||
_SEH_TRY
|
||||
{
|
||||
memcpy(&pDDDI2 , pDDDI, sizeof(DDDEVICEIDENTIFIER));
|
||||
|
||||
retVal = Main_DirectDraw_GetDeviceIdentifier7((LPDIRECTDRAW7)iface, &pDDDI2, dwFlags);
|
||||
|
||||
if (IsBadWritePtr(pDDDI, sizeof(DDDEVICEIDENTIFIER)))
|
||||
{
|
||||
retVal = DDERR_INVALIDPARAMS;
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(pDDDI , &pDDDI2, sizeof(DDDEVICEIDENTIFIER) );
|
||||
}
|
||||
}
|
||||
_SEH_HANDLE
|
||||
{
|
||||
retVal = DD_FALSE;
|
||||
}
|
||||
_SEH_END;
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
Main_DirectDraw_GetDeviceIdentifier7(LPDIRECTDRAW7 iface,
|
||||
LPDDDEVICEIDENTIFIER2 pDDDI, DWORD dwFlags)
|
||||
{
|
||||
// HRESULT retVal = DD_OK;
|
||||
HRESULT retVal = DD_FALSE;
|
||||
DX_WINDBG_trace();
|
||||
|
||||
_SEH_TRY
|
||||
{
|
||||
if (IsBadWritePtr( pDDDI, sizeof(DDDEVICEIDENTIFIER2) ) )
|
||||
{
|
||||
retVal = DDERR_INVALIDPARAMS;
|
||||
}
|
||||
}
|
||||
_SEH_HANDLE
|
||||
{
|
||||
retVal = DD_FALSE;
|
||||
}
|
||||
_SEH_END;
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/* 5 of 31 DirectDraw7_Vtable api are working simluare to windows */
|
||||
/* 8 of 31 DirectDraw7_Vtable api are under devloping / testing */
|
||||
|
||||
|
@ -445,7 +503,7 @@ IDirectDraw7Vtbl DirectDraw7_Vtable =
|
|||
Main_DirectDraw_GetSurfaceFromDC,
|
||||
Main_DirectDraw_RestoreAllSurfaces,
|
||||
Main_DirectDraw_TestCooperativeLevel,
|
||||
Main_DirectDraw_GetDeviceIdentifier,
|
||||
Main_DirectDraw_GetDeviceIdentifier7,
|
||||
Main_DirectDraw_StartModeTest,
|
||||
Main_DirectDraw_EvaluateMode
|
||||
};
|
||||
|
|
|
@ -117,12 +117,6 @@ HRESULT WINAPI Main_DirectDraw_TestCooperativeLevel(LPDIRECTDRAW7 iface)
|
|||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDraw_GetDeviceIdentifier(LPDIRECTDRAW7 iface,
|
||||
LPDDDEVICEIDENTIFIER2 pDDDI, DWORD dwFlags)
|
||||
{
|
||||
DX_WINDBG_trace();
|
||||
DX_STUB;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDraw_StartModeTest(LPDIRECTDRAW7 iface, LPSIZE pModes,
|
||||
DWORD dwNumModes, DWORD dwFlags)
|
||||
|
|
Loading…
Reference in a new issue