Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendvp.c
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS kernel 00004 * PURPOSE: Native DirectDraw implementation 00005 * FILE: subsystems/win32/win32k/ntddraw/dvp.c 00006 * PROGRAMER: Magnus olsen (magnus@greatlord.com) 00007 * REVISION HISTORY: 00008 * 19/1-2006 Magnus Olsen 00009 */ 00010 00011 00012 #include <win32k.h> 00013 #include <debug.h> 00014 00015 /************************************************************************/ 00016 /* NtGdiDvpCanCreateVideoPort */ 00017 /************************************************************************/ 00018 DWORD 00019 APIENTRY 00020 NtGdiDvpCanCreateVideoPort(HANDLE hDirectDraw, 00021 PDD_CANCREATEVPORTDATA puCanCreateVPortData) 00022 { 00023 PGD_DVPCANCREATEVIDEOPORT pfnDvpCanCreateVideoPort = (PGD_DVPCANCREATEVIDEOPORT)gpDxFuncs[DXG_INDEX_DxDvpCanCreateVideoPort].pfn; 00024 00025 if (pfnDvpCanCreateVideoPort == NULL) 00026 { 00027 DPRINT1("Warning: no pfnDvpCanCreateVideoPort"); 00028 return DDHAL_DRIVER_NOTHANDLED; 00029 } 00030 00031 DPRINT1("Calling dxg.sys pfnDvpCanCreateVideoPort"); 00032 return pfnDvpCanCreateVideoPort(hDirectDraw, puCanCreateVPortData); 00033 } 00034 00035 /************************************************************************/ 00036 /* NtGdiDvpColorControl */ 00037 /************************************************************************/ 00038 DWORD 00039 APIENTRY 00040 NtGdiDvpColorControl(HANDLE hVideoPort, 00041 PDD_VPORTCOLORDATA puVPortColorData) 00042 { 00043 PGD_DVPCOLORCONTROL pfnDvpColorControl = (PGD_DVPCOLORCONTROL)gpDxFuncs[DXG_INDEX_DxDvpColorControl].pfn; 00044 00045 if (pfnDvpColorControl == NULL) 00046 { 00047 DPRINT1("Warning: no pfnDvpColorControl"); 00048 return DDHAL_DRIVER_NOTHANDLED; 00049 } 00050 00051 DPRINT1("Calling dxg.sys pfnDvpColorControl"); 00052 return pfnDvpColorControl(hVideoPort, puVPortColorData); 00053 } 00054 00055 /************************************************************************/ 00056 /* NtGdiDvpCreateVideoPort */ 00057 /************************************************************************/ 00058 HANDLE 00059 APIENTRY 00060 NtGdiDvpCreateVideoPort(HANDLE hDirectDraw, 00061 PDD_CREATEVPORTDATA puCreateVPortData) 00062 { 00063 PGD_DVPCREATEVIDEOPORT pfnDvpCreateVideoPort = (PGD_DVPCREATEVIDEOPORT)gpDxFuncs[DXG_INDEX_DxDvpCreateVideoPort].pfn; 00064 00065 if (pfnDvpCreateVideoPort == NULL) 00066 { 00067 DPRINT1("Warning: no pfnDvpCreateVideoPort"); 00068 return DDHAL_DRIVER_NOTHANDLED; 00069 } 00070 00071 DPRINT1("Calling dxg.sys pfnDvpCreateVideoPort"); 00072 return pfnDvpCreateVideoPort(hDirectDraw, puCreateVPortData); 00073 } 00074 00075 /************************************************************************/ 00076 /* NtGdiDvpDestroyVideoPort */ 00077 /************************************************************************/ 00078 DWORD 00079 APIENTRY 00080 NtGdiDvpDestroyVideoPort(HANDLE hVideoPort, 00081 PDD_DESTROYVPORTDATA puDestroyVPortData) 00082 { 00083 PGD_DVPDESTROYVIDEOPORT pfnDvpDestroyVideoPort = (PGD_DVPDESTROYVIDEOPORT)gpDxFuncs[DXG_INDEX_DxDvpDestroyVideoPort].pfn; 00084 00085 if (pfnDvpDestroyVideoPort == NULL) 00086 { 00087 DPRINT1("Warning: no pfnDvpDestroyVideoPort"); 00088 return DDHAL_DRIVER_NOTHANDLED; 00089 } 00090 00091 DPRINT1("Calling dxg.sys pfnDvpDestroyVideoPort"); 00092 return pfnDvpDestroyVideoPort(hVideoPort, puDestroyVPortData); 00093 } 00094 00095 /************************************************************************/ 00096 /* NtGdiDvpFlipVideoPort */ 00097 /************************************************************************/ 00098 DWORD 00099 APIENTRY 00100 NtGdiDvpFlipVideoPort(HANDLE hVideoPort, 00101 HANDLE hDDSurfaceCurrent, 00102 HANDLE hDDSurfaceTarget, 00103 PDD_FLIPVPORTDATA puFlipVPortData) 00104 { 00105 PGD_DVPFLIPVIDEOPORT pfnDvpFlipVideoPort = (PGD_DVPFLIPVIDEOPORT)gpDxFuncs[DXG_INDEX_DxDvpFlipVideoPort].pfn; 00106 00107 if (pfnDvpFlipVideoPort == NULL) 00108 { 00109 DPRINT1("Warning: no pfnDvpFlipVideoPort"); 00110 return DDHAL_DRIVER_NOTHANDLED; 00111 } 00112 00113 DPRINT1("Calling dxg.sys pfnDvpFlipVideoPort"); 00114 return pfnDvpFlipVideoPort(hVideoPort, hDDSurfaceCurrent, hDDSurfaceTarget, puFlipVPortData); 00115 } 00116 00117 00118 /************************************************************************/ 00119 /* NtGdiDvpGetVideoPortBandwidth */ 00120 /************************************************************************/ 00121 DWORD 00122 APIENTRY 00123 NtGdiDvpGetVideoPortBandwidth(HANDLE hVideoPort, 00124 PDD_GETVPORTBANDWIDTHDATA puGetVPortBandwidthData) 00125 { 00126 PGD_DVPGETVIDEOPORTBANDWITH pfnDvpGetVideoPortBandwidth = (PGD_DVPGETVIDEOPORTBANDWITH)gpDxFuncs[DXG_INDEX_DxDvpGetVideoPortBandwidth].pfn; 00127 00128 if (pfnDvpGetVideoPortBandwidth == NULL) 00129 { 00130 DPRINT1("Warning: no pfnDvpGetVideoPortBandwidth"); 00131 return DDHAL_DRIVER_NOTHANDLED; 00132 } 00133 00134 DPRINT1("Calling dxg.sys pfnDvpGetVideoPortBandwidth"); 00135 return pfnDvpGetVideoPortBandwidth(hVideoPort, puGetVPortBandwidthData); 00136 } 00137 00138 00139 /************************************************************************/ 00140 /* NtGdiDvpGetVideoPortFlipStatus */ 00141 /************************************************************************/ 00142 DWORD 00143 APIENTRY 00144 NtGdiDvpGetVideoPortFlipStatus(HANDLE hDirectDraw, 00145 PDD_GETVPORTFLIPSTATUSDATA puGetVPortFlipStatusData) 00146 { 00147 PGD_DXDVPGETVIDEOPORTFLIPSTATUS pfnDvpGetVideoPortFlipStatus = (PGD_DXDVPGETVIDEOPORTFLIPSTATUS)gpDxFuncs[DXG_INDEX_DxDvpGetVideoPortFlipStatus].pfn; 00148 00149 if (pfnDvpGetVideoPortFlipStatus == NULL) 00150 { 00151 DPRINT1("Warning: no pfnDvpGetVideoPortFlipStatus"); 00152 return DDHAL_DRIVER_NOTHANDLED; 00153 } 00154 00155 DPRINT1("Calling dxg.sys pfnDvpGetVideoPortFlipStatus"); 00156 return pfnDvpGetVideoPortFlipStatus(hDirectDraw, puGetVPortFlipStatusData); 00157 } 00158 00159 00160 /************************************************************************/ 00161 /* NtGdiDvpGetVideoPortInputFormats */ 00162 /************************************************************************/ 00163 DWORD 00164 APIENTRY 00165 NtGdiDvpGetVideoPortInputFormats(HANDLE hVideoPort, 00166 PDD_GETVPORTINPUTFORMATDATA puGetVPortInputFormatData) 00167 { 00168 PGD_DXDVPGETVIDEOPORTINPUTFORMATS pfnDvpGetVideoPortInputFormats = (PGD_DXDVPGETVIDEOPORTINPUTFORMATS)gpDxFuncs[DXG_INDEX_DxDvpGetVideoPortInputFormats].pfn; 00169 00170 if (pfnDvpGetVideoPortInputFormats == NULL) 00171 { 00172 DPRINT1("Warning: no pfnDvpGetVideoPortInputFormats"); 00173 return DDHAL_DRIVER_NOTHANDLED; 00174 } 00175 00176 DPRINT1("Calling dxg.sys pfnDvpGetVideoPortInputFormats"); 00177 return pfnDvpGetVideoPortInputFormats(hVideoPort, puGetVPortInputFormatData); 00178 } 00179 00180 00181 /************************************************************************/ 00182 /* NtGdiDvpGetVideoPortLine */ 00183 /************************************************************************/ 00184 DWORD 00185 APIENTRY 00186 NtGdiDvpGetVideoPortLine(HANDLE hVideoPort, 00187 PDD_GETVPORTLINEDATA puGetVPortLineData) 00188 { 00189 PGD_DXDVPGETVIDEOPORTLINE pfnDvpGetVideoPortLine = (PGD_DXDVPGETVIDEOPORTLINE)gpDxFuncs[DXG_INDEX_DxDvpGetVideoPortLine].pfn; 00190 00191 if (pfnDvpGetVideoPortLine == NULL) 00192 { 00193 DPRINT1("Warning: no pfnDvpGetVideoPortLine"); 00194 return DDHAL_DRIVER_NOTHANDLED; 00195 } 00196 00197 DPRINT1("Calling dxg.sys pfnDvpGetVideoPortLine"); 00198 return pfnDvpGetVideoPortLine(hVideoPort, puGetVPortLineData); 00199 } 00200 00201 00202 /************************************************************************/ 00203 /* NtGdiDvpGetVideoPortOutputFormats */ 00204 /************************************************************************/ 00205 DWORD 00206 APIENTRY 00207 NtGdiDvpGetVideoPortOutputFormats(HANDLE hVideoPort, 00208 PDD_GETVPORTOUTPUTFORMATDATA puGetVPortOutputFormatData) 00209 { 00210 PGD_DXDVPGETVIDEOPORTOUTPUTFORMATS pfnDvpGetVideoPortOutputFormats = (PGD_DXDVPGETVIDEOPORTOUTPUTFORMATS)gpDxFuncs[DXG_INDEX_DxDvpGetVideoPortOutputFormats].pfn; 00211 00212 if (pfnDvpGetVideoPortOutputFormats == NULL) 00213 { 00214 DPRINT1("Warning: no pfnDvpGetVideoPortOutputFormats"); 00215 return DDHAL_DRIVER_NOTHANDLED; 00216 } 00217 00218 DPRINT1("Calling dxg.sys pfnDvpGetVideoPortOutputFormats"); 00219 return pfnDvpGetVideoPortOutputFormats(hVideoPort, puGetVPortOutputFormatData); 00220 00221 } 00222 00223 00224 /************************************************************************/ 00225 /* NtGdiDvpGetVideoPortConnectInfo */ 00226 /************************************************************************/ 00227 DWORD 00228 APIENTRY 00229 NtGdiDvpGetVideoPortConnectInfo(HANDLE hDirectDraw, 00230 PDD_GETVPORTCONNECTDATA puGetVPortConnectData) 00231 { 00232 PGD_DXDVPGETVIDEOPORTCONNECTINFO pfnDvpGetVideoPortConnectInfo = (PGD_DXDVPGETVIDEOPORTCONNECTINFO)gpDxFuncs[DXG_INDEX_DxDvpGetVideoPortConnectInfo].pfn; 00233 00234 if (pfnDvpGetVideoPortConnectInfo == NULL) 00235 { 00236 DPRINT1("Warning: no pfnDvpGetVideoPortConnectInfo"); 00237 return DDHAL_DRIVER_NOTHANDLED; 00238 } 00239 00240 DPRINT1("Calling dxg.sys pfnDvpGetVideoPortConnectInfo"); 00241 return pfnDvpGetVideoPortConnectInfo(hDirectDraw, puGetVPortConnectData); 00242 } 00243 00244 00245 /************************************************************************/ 00246 /* NtGdiDvpGetVideoSignalStatus */ 00247 /************************************************************************/ 00248 DWORD 00249 APIENTRY 00250 NtGdiDvpGetVideoSignalStatus(HANDLE hVideoPort, 00251 PDD_GETVPORTSIGNALDATA puGetVPortSignalData) 00252 { 00253 PGD_DXDVPGETVIDEOSIGNALSTATUS pfnDvpGetVideoSignalStatus = (PGD_DXDVPGETVIDEOSIGNALSTATUS)gpDxFuncs[DXG_INDEX_DxDvpGetVideoSignalStatus].pfn; 00254 00255 if (pfnDvpGetVideoSignalStatus == NULL) 00256 { 00257 DPRINT1("Warning: no pfnDvpGetVideoSignalStatus"); 00258 return DDHAL_DRIVER_NOTHANDLED; 00259 } 00260 00261 DPRINT1("Calling dxg.sys pfnDvpGetVideoSignalStatus"); 00262 return pfnDvpGetVideoSignalStatus(hVideoPort, puGetVPortSignalData); 00263 00264 } 00265 00266 00267 /************************************************************************/ 00268 /* NtGdiDvpUpdateVideoPort */ 00269 /************************************************************************/ 00270 DWORD 00271 APIENTRY 00272 NtGdiDvpUpdateVideoPort(HANDLE hVideoPort, 00273 HANDLE* phSurfaceVideo, 00274 HANDLE* phSurfaceVbi, 00275 PDD_UPDATEVPORTDATA puUpdateVPortData) 00276 { 00277 PGD_DXDVPUPDATEVIDEOPORT pfnDvpUpdateVideoPort = (PGD_DXDVPUPDATEVIDEOPORT)gpDxFuncs[DXG_INDEX_DxDvpUpdateVideoPort].pfn; 00278 00279 if (pfnDvpUpdateVideoPort == NULL) 00280 { 00281 DPRINT1("Warning: no pfnDvpUpdateVideoPort"); 00282 return DDHAL_DRIVER_NOTHANDLED; 00283 } 00284 00285 DPRINT1("Calling dxg.sys pfnDvpUpdateVideoPort"); 00286 return pfnDvpUpdateVideoPort(hVideoPort, phSurfaceVideo, phSurfaceVbi, puUpdateVPortData); 00287 00288 } 00289 00290 00291 /************************************************************************/ 00292 /* NtGdiDvpWaitForVideoPortSync */ 00293 /************************************************************************/ 00294 DWORD 00295 APIENTRY 00296 NtGdiDvpWaitForVideoPortSync(HANDLE hVideoPort, 00297 PDD_WAITFORVPORTSYNCDATA puWaitForVPortSyncData) 00298 { 00299 PGD_DXDVPWAITFORVIDEOPORTSYNC pfnDvpWaitForVideoPortSync = (PGD_DXDVPWAITFORVIDEOPORTSYNC)gpDxFuncs[DXG_INDEX_DxDvpWaitForVideoPortSync].pfn; 00300 00301 if (pfnDvpWaitForVideoPortSync == NULL) 00302 { 00303 DPRINT1("Warning: no pfnDvpWaitForVideoPortSync"); 00304 return DDHAL_DRIVER_NOTHANDLED; 00305 } 00306 00307 DPRINT1("Calling dxg.sys pfnDvpWaitForVideoPortSync"); 00308 return pfnDvpWaitForVideoPortSync(hVideoPort, puWaitForVPortSyncData); 00309 } 00310 00311 00312 /************************************************************************/ 00313 /* NtGdiDvpAcquireNotification */ 00314 /************************************************************************/ 00315 DWORD 00316 APIENTRY 00317 NtGdiDvpAcquireNotification(HANDLE hVideoPort, 00318 HANDLE* hEvent, 00319 LPDDVIDEOPORTNOTIFY pNotify) 00320 { 00321 PGD_DXDVPACQUIRENOTIFICATION pfnDvpAcquireNotification = (PGD_DXDVPACQUIRENOTIFICATION)gpDxFuncs[DXG_INDEX_DxDvpAcquireNotification].pfn; 00322 00323 if (pfnDvpAcquireNotification == NULL) 00324 { 00325 DPRINT1("Warning: no pfnDvpAcquireNotification"); 00326 return DDHAL_DRIVER_NOTHANDLED; 00327 } 00328 00329 DPRINT1("Calling dxg.sys pfnDvpAcquireNotification"); 00330 return pfnDvpAcquireNotification(hVideoPort, hEvent, pNotify); 00331 } 00332 00333 00334 /************************************************************************/ 00335 /* NtGdiDvpReleaseNotification */ 00336 /************************************************************************/ 00337 DWORD 00338 APIENTRY 00339 NtGdiDvpReleaseNotification(HANDLE hVideoPort, 00340 HANDLE hEvent) 00341 { 00342 PGD_DXDVPRELEASENOTIFICATION pfnDvpReleaseNotification = (PGD_DXDVPRELEASENOTIFICATION)gpDxFuncs[DXG_INDEX_DxDvpReleaseNotification].pfn; 00343 00344 if (pfnDvpReleaseNotification == NULL) 00345 { 00346 DPRINT1("Warning: no pfnDvpReleaseNotification"); 00347 return DDHAL_DRIVER_NOTHANDLED; 00348 } 00349 00350 DPRINT1("Calling dxg.sys pfnDvpReleaseNotification"); 00351 return pfnDvpReleaseNotification(hVideoPort, hEvent); 00352 00353 } 00354 00355 00356 /************************************************************************/ 00357 /* NtGdiDvpGetVideoPortField */ 00358 /************************************************************************/ 00359 DWORD 00360 APIENTRY 00361 NtGdiDvpGetVideoPortField(HANDLE hVideoPort, 00362 PDD_GETVPORTFIELDDATA puGetVPortFieldData) 00363 { 00364 PGD_DXDVPGETVIDEOPORTFIELD pfnDvpGetVideoPortField = (PGD_DXDVPGETVIDEOPORTFIELD)gpDxFuncs[DXG_INDEX_DxDvpGetVideoPortField].pfn; 00365 00366 if (pfnDvpGetVideoPortField == NULL) 00367 { 00368 DPRINT1("Warning: no pfnDvpGetVideoPortField"); 00369 return DDHAL_DRIVER_NOTHANDLED; 00370 } 00371 00372 DPRINT1("Calling dxg.sys pfnDvpGetVideoPortField"); 00373 return pfnDvpGetVideoPortField(hVideoPort, puGetVPortFieldData); 00374 00375 } Generated on Mon May 28 2012 04:38:24 for ReactOS by
1.7.6.1
|