Author: greatlrd Date: Sun Oct 14 21:49:55 2007 New Revision: 29568
URL: http://svn.reactos.org/svn/reactos?rev=29568&view=rev Log: adding more redirect for dvp interface to dxg
Modified: branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dvp.c
Modified: branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dvp.c URL: http://svn.reactos.org/svn/reactos/branches/reactx/reactos/subsystems/win32/... ============================================================================== --- branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dvp.c (original) +++ branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dvp.c Sun Oct 14 21:49:55 2007 @@ -22,6 +22,12 @@
extern PDRVFN gpDxFuncs;
+ +typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOPORTFLIPSTATUS)(hDirectDraw, puGetVPortFlipStatusData); +typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOPORTINPUTFORMATS)(HANDLE, PDD_GETVPORTINPUTFORMATDATA); +typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOPORTLINE)(HANDLE, PDD_GETVPORTLINEDATA); +typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOPORTOUTPUTFORMATS)(HANDLE, PDD_GETVPORTOUTPUTFORMATDATA); +typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOPORTCONNECTINFO)(HANDLE, PDD_GETVPORTCONNECTDATA); typedef DWORD (NTAPI *PGD_DXDVPGETVIDEOSIGNALSTATUS)(HANDLE, PDD_GETVPORTSIGNALDATA); typedef DWORD (NTAPI *PGD_DXDVPUPDATEVIDEOPORT)(HANDLE, HANDLE*, HANDLE*, PDD_UPDATEVPORTDATA); typedef DWORD (NTAPI *PGD_DXDVPWAITFORVIDEOPORTSYNC)(hVideoPort, puWaitForVPortSyncData); @@ -110,7 +116,19 @@ NtGdiDvpGetVideoPortFlipStatus(HANDLE hDirectDraw, PDD_GETVPORTFLIPSTATUSDATA puGetVPortFlipStatusData) { - + PGD_DXDVPGETVIDEOPORTFLIPSTATUS pfnDvpGetVideoPortFlipStatus = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpGetVideoPortFlipStatus, pfnDvpGetVideoPortFlipStatus); + + if (pfnDvpGetVideoPortFlipStatus == NULL) + { + DPRINT1("Warring no pfnDvpGetVideoPortFlipStatus"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpGetVideoPortFlipStatus"); + return pfnDvpGetVideoPortFlipStatus(hDirectDraw, puGetVPortFlipStatusData); }
@@ -122,7 +140,19 @@ NtGdiDvpGetVideoPortInputFormats(HANDLE hVideoPort, PDD_GETVPORTINPUTFORMATDATA puGetVPortInputFormatData) { - + PGD_DXDVPGETVIDEOPORTINPUTFORMATS pfnDvpGetVideoPortInputFormats = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpGetVideoPortInputFormats, pfnDvpGetVideoPortInputFormats); + + if (pfnDvpGetVideoPortInputFormats == NULL) + { + DPRINT1("Warring no pfnDvpGetVideoPortInputFormats"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpGetVideoPortInputFormats"); + return pfnDvpGetVideoPortInputFormats(hVideoPort, puGetVPortInputFormatData); }
@@ -134,7 +164,19 @@ NtGdiDvpGetVideoPortLine(HANDLE hVideoPort, PDD_GETVPORTLINEDATA puGetVPortLineData) { - + PGD_DXDVPGETVIDEOPORTLINE pfnDvpGetVideoPortLine = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpGetVideoPortLine, pfnDvpGetVideoPortLine); + + if (pfnDvpGetVideoPortLine == NULL) + { + DPRINT1("Warring no pfnDvpGetVideoPortLine"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpGetVideoPortLine"); + return pfnDvpGetVideoSignalStatus(hVideoPort, puGetVPortLineData); }
@@ -146,7 +188,20 @@ NtGdiDvpGetVideoPortOutputFormats(HANDLE hVideoPort, PDD_GETVPORTOUTPUTFORMATDATA puGetVPortOutputFormatData) { - + PGD_DXDVPGETVIDEOPORTOUTPUTFORMATS pfnDvpGetVideoPortOutputFormats = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpGetVideoPortOutputFormats, puGetVPortOutputFormatData); + + if (pfnDvpGetVideoSignalStatus == NULL) + { + DPRINT1("Warring no pfnDvpGetVideoPortOutputFormats"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpGetVideoPortOutputFormats"); + return pfnDvpGetVideoPortOutputFormats(hVideoPort, puGetVPortOutputFormatData); + }
@@ -158,7 +213,19 @@ NtGdiDvpGetVideoPortConnectInfo(HANDLE hDirectDraw, PDD_GETVPORTCONNECTDATA puGetVPortConnectData) { - + PGD_DXDVPGETVIDEOPORTCONNECTINFO pfnDvpGetVideoPortConnectInfo = NULL; + INT i; + + DXG_GET_INDEX_FUNCTION(DXG_INDEX_DxDvpGetVideoPortConnectInfo, pfnDvpGetVideoPortConnectInfo); + + if (pfnDvpGetVideoPortConnectInfo == NULL) + { + DPRINT1("Warring no pfnDvpGetVideoPortConnectInfo"); + return DDHAL_DRIVER_NOTHANDLED; + } + + DPRINT1("Calling on dxg.sys pfnDvpGetVideoPortConnectInfo"); + return pfnDvpGetVideoPortConnectInfo(hVideoPort, puGetVPortConnectData); }