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);
}