Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenddrawint.h
Go to the documentation of this file.
00001 /* 00002 * ddrawint.h 00003 * 00004 * DirectDraw NT driver interface 00005 * 00006 * Contributors: 00007 * Created by Ge van Geldorp 00008 * 00009 * THIS SOFTWARE IS NOT COPYRIGHTED 00010 * 00011 * This source code is offered for use in the public domain. You may 00012 * use, modify or distribute it freely. 00013 * 00014 * This code is distributed in the hope that it will be useful but 00015 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00016 * DISCLAIMED. This includes but is not limited to warranties of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00018 * 00019 */ 00020 00021 #ifndef __DD_INCLUDED__ 00022 #define __DD_INCLUDED__ 00023 00024 DEFINE_GUID( GUID_MiscellaneousCallbacks, 0xEFD60CC0, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); 00025 DEFINE_GUID( GUID_Miscellaneous2Callbacks, 0x406B2F00, 0x3E5A, 0x11D1, 0xB6, 0x40, 0x00, 0xAA, 0x00, 0xA1, 0xF9, 0x6A); 00026 DEFINE_GUID( GUID_VideoPortCallbacks, 0xefd60cc1, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); 00027 DEFINE_GUID( GUID_ColorControlCallbacks, 0xefd60cc2, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); 00028 DEFINE_GUID( GUID_MotionCompCallbacks, 0xb1122b40, 0x5dA5, 0x11d1, 0x8f, 0xcF, 0x00, 0xc0, 0x4f, 0xc2, 0x9b, 0x4e); 00029 DEFINE_GUID( GUID_VideoPortCaps, 0xefd60cc3, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); 00030 DEFINE_GUID( GUID_D3DCaps, 0x7bf06991, 0x8794, 0x11d0, 0x91, 0x39, 0x08, 0x00, 0x36, 0xd2, 0xef, 0x02); 00031 DEFINE_GUID( GUID_D3DExtendedCaps, 0x7de41f80, 0x9d93, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29); 00032 DEFINE_GUID( GUID_D3DCallbacks, 0x7bf06990, 0x8794, 0x11d0, 0x91, 0x39, 0x08, 0x00, 0x36, 0xd2, 0xef, 0x02); 00033 DEFINE_GUID( GUID_D3DCallbacks2, 0xba584e1, 0x70b6, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a); 00034 DEFINE_GUID( GUID_D3DCallbacks3, 0xddf41230, 0xec0a, 0x11d0, 0xa9, 0xb6, 0x00, 0xaa, 0x00, 0xc0, 0x99, 0x3e); 00035 DEFINE_GUID( GUID_NonLocalVidMemCaps, 0x86c4fa80, 0x8d84, 0x11d0, 0x94, 0xe8, 0x00, 0xc0, 0x4f, 0xc3, 0x41, 0x37); 00036 DEFINE_GUID( GUID_KernelCallbacks, 0x80863800, 0x6B06, 0x11D0, 0x9B, 0x06, 0x0, 0xA0, 0xC9, 0x03, 0xA3, 0xB8); 00037 DEFINE_GUID( GUID_KernelCaps, 0xFFAA7540, 0x7AA8, 0x11D0, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8); 00038 DEFINE_GUID( GUID_ZPixelFormats, 0x93869880, 0x36cf, 0x11d1, 0x9b, 0x1b, 0x0, 0xaa, 0x0, 0xbb, 0xb8, 0xae); 00039 DEFINE_GUID( GUID_DDMoreCaps, 0x880baf30, 0xb030, 0x11d0, 0x8e, 0xa7, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b); 00040 DEFINE_GUID( GUID_D3DParseUnknownCommandCallback, 0x2e04ffa0, 0x98e4, 0x11d1, 0x8c, 0xe1, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8); 00041 DEFINE_GUID( GUID_NTCallbacks, 0x6fe9ecde, 0xdf89, 0x11d1, 0x9d, 0xb0, 0x00, 0x60, 0x08, 0x27, 0x71, 0xba); 00042 DEFINE_GUID( GUID_DDMoreSurfaceCaps, 0x3b8a0466, 0xf269, 0x11d1, 0x88, 0x0b, 0x0, 0xc0, 0x4f, 0xd9, 0x30, 0xc5); 00043 DEFINE_GUID( GUID_GetHeapAlignment, 0x42e02f16, 0x7b41, 0x11d2, 0x8b, 0xff, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6); 00044 DEFINE_GUID( GUID_UpdateNonLocalHeap, 0x42e02f17, 0x7b41, 0x11d2, 0x8b, 0xff, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6); 00045 DEFINE_GUID( GUID_NTPrivateDriverCaps, 0xfad16a23, 0x7b66, 0x11d2, 0x83, 0xd7, 0x0, 0xc0, 0x4f, 0x7c, 0xe5, 0x8c); 00046 DEFINE_GUID( GUID_DDStereoMode, 0xf828169c, 0xa8e8, 0x11d2, 0xa1, 0xf2, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6); 00047 DEFINE_GUID( GUID_VPE2Callbacks, 0x52882147, 0x2d47, 0x469a, 0xa0, 0xd1, 0x3, 0x45, 0x58, 0x90, 0xf6, 0xc8); 00048 00049 00050 #ifndef GUID_DEFS_ONLY 00051 00052 #ifndef _NO_DDRAWINT_NO_COM 00053 #ifndef _NO_COM 00054 #define _NO_COM 00055 #include <ddraw.h> 00056 #include <dvp.h> 00057 #undef _NO_COM 00058 #else 00059 #include <ddraw.h> 00060 #include <dvp.h> 00061 #endif 00062 #else 00063 #include <ddraw.h> 00064 #include <dvp.h> 00065 #endif 00066 00067 #ifdef __cplusplus 00068 extern "C" { 00069 #endif 00070 00071 #ifndef MAKE_HRESULT // fixme this if statment should not be here, but MAKE_HRESULT should be here 00072 #define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) 00073 #endif 00074 00075 #ifndef FLATPTR_DEFINED 00076 typedef ULONG_PTR FLATPTR; 00077 #define FLATPTR_DEFINED 00078 #endif 00079 00080 typedef struct _DD_VIDEOPORT_LOCAL *PDD_VIDEOPORT_LOCAL; 00081 00082 /************************************************************************/ 00083 /* _DD_GETHEAPALIGNMENTDATA is defined in dmemmgr.h */ 00084 /************************************************************************/ 00085 struct _DD_GETHEAPALIGNMENTDATA; 00086 #ifndef DD_GETHEAPALIGNMENTDATA_DECLARED 00087 typedef struct _DD_GETHEAPALIGNMENTDATA *PDD_GETHEAPALIGNMENTDATA; 00088 #define DD_GETHEAPALIGNMENTDATA_DECLARED 00089 #endif 00090 00091 /************************************************************************/ 00092 /* Video memory info structures */ 00093 /************************************************************************/ 00094 00095 typedef struct _VIDEOMEMORY { 00096 DWORD dwFlags; 00097 FLATPTR fpStart; 00098 __GNU_EXTENSION union { 00099 FLATPTR fpEnd; 00100 DWORD dwWidth; 00101 }; 00102 DDSCAPS ddsCaps; 00103 DDSCAPS ddsCapsAlt; 00104 __GNU_EXTENSION union { 00105 struct _VMEMHEAP *lpHeap; 00106 DWORD dwHeight; 00107 }; 00108 } VIDEOMEMORY, *PVIDEOMEMORY; 00109 00110 typedef struct _VIDEOMEMORYINFO { 00111 FLATPTR fpPrimary; 00112 DWORD dwFlags; 00113 DWORD dwDisplayWidth; 00114 DWORD dwDisplayHeight; 00115 LONG lDisplayPitch; 00116 DDPIXELFORMAT ddpfDisplay; 00117 DWORD dwOffscreenAlign; 00118 DWORD dwOverlayAlign; 00119 DWORD dwTextureAlign; 00120 DWORD dwZBufferAlign; 00121 DWORD dwAlphaAlign; 00122 PVOID pvPrimary; 00123 } VIDEOMEMORYINFO, *LPVIDEOMEMORYINFO; 00124 00125 typedef struct _DD_DIRECTDRAW_GLOBAL { 00126 PVOID dhpdev; 00127 ULONG_PTR dwReserved1; 00128 ULONG_PTR dwReserved2; 00129 LPDDVIDEOPORTCAPS lpDDVideoPortCaps; 00130 } DD_DIRECTDRAW_GLOBAL, *PDD_DIRECTDRAW_GLOBAL; 00131 00132 typedef struct _DD_DIRECTDRAW_LOCAL { 00133 PDD_DIRECTDRAW_GLOBAL lpGbl; 00134 } DD_DIRECTDRAW_LOCAL, *PDD_DIRECTDRAW_LOCAL; 00135 00136 typedef struct _DD_SURFACE_GLOBAL { 00137 __GNU_EXTENSION union { 00138 DWORD dwBlockSizeY; 00139 LONG lSlicePitch; 00140 }; 00141 __GNU_EXTENSION union { 00142 PVIDEOMEMORY lpVidMemHeap; 00143 DWORD dwBlockSizeX; 00144 DWORD dwUserMemSize; 00145 }; 00146 FLATPTR fpVidMem; 00147 __GNU_EXTENSION union { 00148 LONG lPitch; 00149 DWORD dwLinearSize; 00150 }; 00151 LONG yHint; 00152 LONG xHint; 00153 DWORD wHeight; 00154 DWORD wWidth; 00155 ULONG_PTR dwReserved1; 00156 DDPIXELFORMAT ddpfSurface; 00157 FLATPTR fpHeapOffset; 00158 HANDLE hCreatorProcess; 00159 } DD_SURFACE_GLOBAL, *PDD_SURFACE_GLOBAL; 00160 00161 typedef struct _DD_SURFACE_MORE { 00162 DWORD dwMipMapCount; 00163 PDD_VIDEOPORT_LOCAL lpVideoPort; 00164 DWORD dwOverlayFlags; 00165 DDSCAPSEX ddsCapsEx; 00166 DWORD dwSurfaceHandle; 00167 } DD_SURFACE_MORE, *PDD_SURFACE_MORE; 00168 00169 typedef struct _DD_ATTACHLIST *PDD_ATTACHLIST; 00170 00171 typedef struct _DD_SURFACE_LOCAL { 00172 PDD_SURFACE_GLOBAL lpGbl; 00173 DWORD dwFlags; 00174 DDSCAPS ddsCaps; 00175 ULONG_PTR dwReserved1; 00176 __GNU_EXTENSION union { 00177 DDCOLORKEY ddckCKSrcOverlay; 00178 DDCOLORKEY ddckCKSrcBlt; 00179 }; 00180 __GNU_EXTENSION union { 00181 DDCOLORKEY ddckCKDestOverlay; 00182 DDCOLORKEY ddckCKDestBlt; 00183 }; 00184 PDD_SURFACE_MORE lpSurfMore; 00185 PDD_ATTACHLIST lpAttachList; 00186 PDD_ATTACHLIST lpAttachListFrom; 00187 RECT rcOverlaySrc; 00188 } DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL; 00189 00190 typedef struct _DD_ATTACHLIST { 00191 PDD_ATTACHLIST lpLink; 00192 PDD_SURFACE_LOCAL lpAttached; 00193 } DD_ATTACHLIST; 00194 00195 typedef struct _DD_SURFACE_INT { 00196 PDD_SURFACE_LOCAL lpLcl; 00197 } DD_SURFACE_INT, *PDD_SURFACE_INT; 00198 00199 /************************************************************************/ 00200 /* DDI representation of the DirectDrawPalette object */ 00201 /************************************************************************/ 00202 00203 typedef struct _DD_PALETTE_GLOBAL { 00204 ULONG_PTR Reserved1; 00205 } DD_PALETTE_GLOBAL, *PDD_PALETTE_GLOBAL; 00206 00207 /************************************************************************/ 00208 /* DDI representation of the DirectDrawVideo object */ 00209 /************************************************************************/ 00210 00211 typedef struct { 00212 PDD_DIRECTDRAW_LOCAL lpDD; 00213 GUID guid; 00214 DWORD dwUncompWidth; 00215 DWORD dwUncompHeight; 00216 DDPIXELFORMAT ddUncompPixelFormat; 00217 DWORD dwDriverReserved1; 00218 DWORD dwDriverReserved2; 00219 DWORD dwDriverReserved3; 00220 LPVOID lpDriverReserved1; 00221 LPVOID lpDriverReserved2; 00222 LPVOID lpDriverReserved3; 00223 } DD_MOTIONCOMP_LOCAL, *PDD_MOTIONCOMP_LOCAL; 00224 00225 typedef struct _DD_VIDEOPORT_LOCAL { 00226 PDD_DIRECTDRAW_LOCAL lpDD; 00227 DDVIDEOPORTDESC ddvpDesc; 00228 DDVIDEOPORTINFO ddvpInfo; 00229 PDD_SURFACE_INT lpSurface; 00230 PDD_SURFACE_INT lpVBISurface; 00231 DWORD dwNumAutoflip; 00232 DWORD dwNumVBIAutoflip; 00233 ULONG_PTR dwReserved1; 00234 ULONG_PTR dwReserved2; 00235 ULONG_PTR dwReserved3; 00236 } DD_VIDEOPORT_LOCAL; 00237 00238 /************************************************************************/ 00239 /* IDirectDrawSurface callbacks */ 00240 /************************************************************************/ 00241 00242 typedef struct _DD_LOCKDATA { 00243 PDD_DIRECTDRAW_GLOBAL lpDD; 00244 PDD_SURFACE_LOCAL lpDDSurface; 00245 DWORD bHasRect; 00246 RECTL rArea; 00247 LPVOID lpSurfData; 00248 HRESULT ddRVal; 00249 PVOID Lock; 00250 DWORD dwFlags; 00251 FLATPTR fpProcess; 00252 } DD_LOCKDATA, *PDD_LOCKDATA; 00253 typedef DWORD (WINAPI *PDD_SURFCB_LOCK)(PDD_LOCKDATA); 00254 00255 typedef struct _DD_UNLOCKDATA { 00256 PDD_DIRECTDRAW_GLOBAL lpDD; 00257 PDD_SURFACE_LOCAL lpDDSurface; 00258 HRESULT ddRVal; 00259 PVOID Unlock; 00260 } DD_UNLOCKDATA, *PDD_UNLOCKDATA; 00261 typedef DWORD (WINAPI *PDD_SURFCB_UNLOCK)(PDD_UNLOCKDATA); 00262 00263 #define DDABLT_SRCOVERDEST 0x00000001 00264 #define DDBLT_AFLAGS 0x80000000 00265 00266 typedef struct _DD_BLTDATA { 00267 PDD_DIRECTDRAW_GLOBAL lpDD; 00268 PDD_SURFACE_LOCAL lpDDDestSurface; 00269 RECTL rDest; 00270 PDD_SURFACE_LOCAL lpDDSrcSurface; 00271 RECTL rSrc; 00272 DWORD dwFlags; 00273 DWORD dwROPFlags; 00274 DDBLTFX bltFX; 00275 HRESULT ddRVal; 00276 PVOID Blt; 00277 BOOL IsClipped; 00278 RECTL rOrigDest; 00279 RECTL rOrigSrc; 00280 DWORD dwRectCnt; 00281 LPRECT prDestRects; 00282 DWORD dwAFlags; 00283 DDARGB ddargbScaleFactors; 00284 } DD_BLTDATA, *PDD_BLTDATA; 00285 typedef DWORD (WINAPI *PDD_SURFCB_BLT)(PDD_BLTDATA); 00286 00287 typedef struct _DD_UPDATEOVERLAYDATA { 00288 PDD_DIRECTDRAW_GLOBAL lpDD; 00289 PDD_SURFACE_LOCAL lpDDDestSurface; 00290 RECTL rDest; 00291 PDD_SURFACE_LOCAL lpDDSrcSurface; 00292 RECTL rSrc; 00293 DWORD dwFlags; 00294 DDOVERLAYFX overlayFX; 00295 HRESULT ddRVal; 00296 PVOID UpdateOverlay; 00297 } DD_UPDATEOVERLAYDATA, *PDD_UPDATEOVERLAYDATA; 00298 typedef DWORD (WINAPI *PDD_SURFCB_UPDATEOVERLAY)(PDD_UPDATEOVERLAYDATA); 00299 00300 typedef struct _DD_SETOVERLAYPOSITIONDATA { 00301 PDD_DIRECTDRAW_GLOBAL lpDD; 00302 PDD_SURFACE_LOCAL lpDDSrcSurface; 00303 PDD_SURFACE_LOCAL lpDDDestSurface; 00304 LONG lXPos; 00305 LONG lYPos; 00306 HRESULT ddRVal; 00307 PVOID SetOverlayPosition; 00308 } DD_SETOVERLAYPOSITIONDATA, *PDD_SETOVERLAYPOSITIONDATA; 00309 typedef DWORD (WINAPI *PDD_SURFCB_SETOVERLAYPOSITION)(PDD_SETOVERLAYPOSITIONDATA); 00310 00311 typedef struct _DD_SETPALETTEDATA { 00312 PDD_DIRECTDRAW_GLOBAL lpDD; 00313 PDD_SURFACE_LOCAL lpDDSurface; 00314 PDD_PALETTE_GLOBAL lpDDPalette; 00315 HRESULT ddRVal; 00316 PVOID SetPalette; 00317 BOOL Attach; 00318 } DD_SETPALETTEDATA, *PDD_SETPALETTEDATA; 00319 typedef DWORD (WINAPI *PDD_SURFCB_SETPALETTE)(PDD_SETPALETTEDATA); 00320 00321 typedef struct _DD_FLIPDATA { 00322 PDD_DIRECTDRAW_GLOBAL lpDD; 00323 PDD_SURFACE_LOCAL lpSurfCurr; 00324 PDD_SURFACE_LOCAL lpSurfTarg; 00325 DWORD dwFlags; 00326 HRESULT ddRVal; 00327 PVOID Flip; 00328 PDD_SURFACE_LOCAL lpSurfCurrLeft; 00329 PDD_SURFACE_LOCAL lpSurfTargLeft; 00330 } DD_FLIPDATA, *PDD_FLIPDATA; 00331 typedef DWORD (WINAPI *PDD_SURFCB_FLIP)(PDD_FLIPDATA); 00332 00333 typedef struct _DD_DESTROYSURFACEDATA { 00334 PDD_DIRECTDRAW_GLOBAL lpDD; 00335 PDD_SURFACE_LOCAL lpDDSurface; 00336 HRESULT ddRVal; 00337 PVOID DestroySurface; 00338 } DD_DESTROYSURFACEDATA, *PDD_DESTROYSURFACEDATA; 00339 typedef DWORD (WINAPI *PDD_SURFCB_DESTROYSURFACE)(PDD_DESTROYSURFACEDATA); 00340 00341 typedef struct _DD_SETCLIPLISTDATA { 00342 PDD_DIRECTDRAW_GLOBAL lpDD; 00343 PDD_SURFACE_LOCAL lpDDSurface; 00344 HRESULT ddRVal; 00345 PVOID SetClipList; 00346 } DD_SETCLIPLISTDATA, *PDD_SETCLIPLISTDATA; 00347 typedef DWORD (WINAPI *PDD_SURFCB_SETCLIPLIST)(PDD_SETCLIPLISTDATA); 00348 00349 typedef struct _DD_ADDATTACHEDSURFACEDATA { 00350 PDD_DIRECTDRAW_GLOBAL lpDD; 00351 PDD_SURFACE_LOCAL lpDDSurface; 00352 PDD_SURFACE_LOCAL lpSurfAttached; 00353 HRESULT ddRVal; 00354 PVOID AddAttachedSurface; 00355 } DD_ADDATTACHEDSURFACEDATA, *PDD_ADDATTACHEDSURFACEDATA; 00356 typedef DWORD (WINAPI *PDD_SURFCB_ADDATTACHEDSURFACE)(PDD_ADDATTACHEDSURFACEDATA); 00357 00358 typedef struct _DD_SETCOLORKEYDATA { 00359 PDD_DIRECTDRAW_GLOBAL lpDD; 00360 PDD_SURFACE_LOCAL lpDDSurface; 00361 DWORD dwFlags; 00362 DDCOLORKEY ckNew; 00363 HRESULT ddRVal; 00364 PVOID SetColorKey; 00365 } DD_SETCOLORKEYDATA, *PDD_SETCOLORKEYDATA; 00366 typedef DWORD (WINAPI *PDD_SURFCB_SETCOLORKEY)(PDD_SETCOLORKEYDATA); 00367 00368 typedef struct _DD_GETBLTSTATUSDATA { 00369 PDD_DIRECTDRAW_GLOBAL lpDD; 00370 PDD_SURFACE_LOCAL lpDDSurface; 00371 DWORD dwFlags; 00372 HRESULT ddRVal; 00373 PVOID GetBltStatus; 00374 } DD_GETBLTSTATUSDATA, *PDD_GETBLTSTATUSDATA; 00375 typedef DWORD (WINAPI *PDD_SURFCB_GETBLTSTATUS)(PDD_GETBLTSTATUSDATA); 00376 00377 typedef struct _DD_GETFLIPSTATUSDATA { 00378 PDD_DIRECTDRAW_GLOBAL lpDD; 00379 PDD_SURFACE_LOCAL lpDDSurface; 00380 DWORD dwFlags; 00381 HRESULT ddRVal; 00382 PVOID GetFlipStatus; 00383 } DD_GETFLIPSTATUSDATA, *PDD_GETFLIPSTATUSDATA; 00384 typedef DWORD (WINAPI *PDD_SURFCB_GETFLIPSTATUS)(PDD_GETFLIPSTATUSDATA); 00385 00386 typedef struct DD_SURFACECALLBACKS { 00387 DWORD dwSize; 00388 DWORD dwFlags; 00389 PDD_SURFCB_DESTROYSURFACE DestroySurface; 00390 PDD_SURFCB_FLIP Flip; 00391 PDD_SURFCB_SETCLIPLIST SetClipList; 00392 PDD_SURFCB_LOCK Lock; 00393 PDD_SURFCB_UNLOCK Unlock; 00394 PDD_SURFCB_BLT Blt; 00395 PDD_SURFCB_SETCOLORKEY SetColorKey; 00396 PDD_SURFCB_ADDATTACHEDSURFACE AddAttachedSurface; 00397 PDD_SURFCB_GETBLTSTATUS GetBltStatus; 00398 PDD_SURFCB_GETFLIPSTATUS GetFlipStatus; 00399 PDD_SURFCB_UPDATEOVERLAY UpdateOverlay; 00400 PDD_SURFCB_SETOVERLAYPOSITION SetOverlayPosition; 00401 PVOID reserved4; 00402 PDD_SURFCB_SETPALETTE SetPalette; 00403 } DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS; 00404 00405 #define DDHAL_SURFCB32_DESTROYSURFACE 0x00000001 00406 #define DDHAL_SURFCB32_FLIP 0x00000002 00407 #define DDHAL_SURFCB32_SETCLIPLIST 0x00000004 00408 #define DDHAL_SURFCB32_LOCK 0x00000008 00409 #define DDHAL_SURFCB32_UNLOCK 0x00000010 00410 #define DDHAL_SURFCB32_BLT 0x00000020 00411 #define DDHAL_SURFCB32_SETCOLORKEY 0x00000040 00412 #define DDHAL_SURFCB32_ADDATTACHEDSURFACE 0x00000080 00413 #define DDHAL_SURFCB32_GETBLTSTATUS 0x00000100 00414 #define DDHAL_SURFCB32_GETFLIPSTATUS 0x00000200 00415 #define DDHAL_SURFCB32_UPDATEOVERLAY 0x00000400 00416 #define DDHAL_SURFCB32_SETOVERLAYPOSITION 0x00000800 00417 #define DDHAL_SURFCB32_RESERVED4 0x00001000 00418 #define DDHAL_SURFCB32_SETPALETTE 0x00002000 00419 00420 /************************************************************************/ 00421 /* IDirectDraw callbacks */ 00422 /************************************************************************/ 00423 00424 typedef struct _DD_CREATESURFACEDATA { 00425 PDD_DIRECTDRAW_GLOBAL lpDD; 00426 DDSURFACEDESC *lpDDSurfaceDesc; 00427 PDD_SURFACE_LOCAL *lplpSList; 00428 DWORD dwSCnt; 00429 HRESULT ddRVal; 00430 PVOID CreateSurface; 00431 } DD_CREATESURFACEDATA, *PDD_CREATESURFACEDATA; 00432 typedef DWORD (WINAPI *PDD_CREATESURFACE)(PDD_CREATESURFACEDATA); 00433 00434 typedef struct _DD_DRVSETCOLORKEYDATA { 00435 PDD_SURFACE_LOCAL lpDDSurface; 00436 DWORD dwFlags; 00437 DDCOLORKEY ckNew; 00438 HRESULT ddRVal; 00439 PVOID SetColorKey; 00440 } DD_DRVSETCOLORKEYDATA, *PDD_DRVSETCOLORKEYDATA; 00441 typedef DWORD (WINAPI *PDD_SETCOLORKEY)(PDD_DRVSETCOLORKEYDATA); 00442 00443 #define DDWAITVB_I_TESTVB 0x80000006 00444 00445 typedef struct _DD_WAITFORVERTICALBLANKDATA { 00446 PDD_DIRECTDRAW_GLOBAL lpDD; 00447 DWORD dwFlags; 00448 DWORD bIsInVB; 00449 DWORD hEvent; 00450 HRESULT ddRVal; 00451 PVOID WaitForVerticalBlank; 00452 } DD_WAITFORVERTICALBLANKDATA, *PDD_WAITFORVERTICALBLANKDATA; 00453 typedef DWORD (WINAPI *PDD_WAITFORVERTICALBLANK)(PDD_WAITFORVERTICALBLANKDATA); 00454 00455 typedef struct _DD_CANCREATESURFACEDATA { 00456 PDD_DIRECTDRAW_GLOBAL lpDD; 00457 DDSURFACEDESC *lpDDSurfaceDesc; 00458 DWORD bIsDifferentPixelFormat; 00459 HRESULT ddRVal; 00460 PVOID CanCreateSurface; 00461 } DD_CANCREATESURFACEDATA, *PDD_CANCREATESURFACEDATA; 00462 typedef DWORD (WINAPI *PDD_CANCREATESURFACE)(PDD_CANCREATESURFACEDATA); 00463 00464 typedef struct _DD_CREATEPALETTEDATA { 00465 PDD_DIRECTDRAW_GLOBAL lpDD; 00466 PDD_PALETTE_GLOBAL lpDDPalette; 00467 LPPALETTEENTRY lpColorTable; 00468 HRESULT ddRVal; 00469 PVOID CreatePalette; 00470 BOOL is_excl; 00471 } DD_CREATEPALETTEDATA, *PDD_CREATEPALETTEDATA; 00472 typedef DWORD (WINAPI *PDD_CREATEPALETTE)(PDD_CREATEPALETTEDATA); 00473 00474 typedef struct _DD_GETSCANLINEDATA { 00475 PDD_DIRECTDRAW_GLOBAL lpDD; 00476 DWORD dwScanLine; 00477 HRESULT ddRVal; 00478 PVOID GetScanLine; 00479 } DD_GETSCANLINEDATA, *PDD_GETSCANLINEDATA; 00480 typedef DWORD (WINAPI *PDD_GETSCANLINE)(PDD_GETSCANLINEDATA); 00481 00482 typedef struct _DD_MAPMEMORYDATA { 00483 PDD_DIRECTDRAW_GLOBAL lpDD; 00484 BOOL bMap; 00485 HANDLE hProcess; 00486 FLATPTR fpProcess; 00487 HRESULT ddRVal; 00488 } DD_MAPMEMORYDATA, *PDD_MAPMEMORYDATA; 00489 typedef DWORD (WINAPI *PDD_MAPMEMORY)(PDD_MAPMEMORYDATA); 00490 00491 typedef struct _DD_DESTROYDRIVERDATA *PDD_DESTROYDRIVERDATA; 00492 typedef struct _DD_SETMODEDATA *PDD_SETMODEDATA; 00493 00494 typedef DWORD (APIENTRY *PDD_DESTROYDRIVER)(PDD_DESTROYDRIVERDATA); 00495 typedef DWORD (APIENTRY *PDD_SETMODE)(PDD_SETMODEDATA); 00496 00497 typedef struct DD_CALLBACKS { 00498 DWORD dwSize; 00499 DWORD dwFlags; 00500 PDD_DESTROYDRIVER DestroyDriver; 00501 PDD_CREATESURFACE CreateSurface; 00502 PDD_SETCOLORKEY SetColorKey; 00503 PDD_SETMODE SetMode; 00504 PDD_WAITFORVERTICALBLANK WaitForVerticalBlank; 00505 PDD_CANCREATESURFACE CanCreateSurface; 00506 PDD_CREATEPALETTE CreatePalette; 00507 PDD_GETSCANLINE GetScanLine; 00508 PDD_MAPMEMORY MapMemory; 00509 } DD_CALLBACKS, *PDD_CALLBACKS; 00510 00511 #define DDHAL_CB32_DESTROYDRIVER 0x00000001l 00512 #define DDHAL_CB32_CREATESURFACE 0x00000002l 00513 #define DDHAL_CB32_SETCOLORKEY 0x00000004l 00514 #define DDHAL_CB32_SETMODE 0x00000008l 00515 #define DDHAL_CB32_WAITFORVERTICALBLANK 0x00000010l 00516 #define DDHAL_CB32_CANCREATESURFACE 0x00000020l 00517 #define DDHAL_CB32_CREATEPALETTE 0x00000040l 00518 #define DDHAL_CB32_GETSCANLINE 0x00000080l 00519 #define DDHAL_CB32_MAPMEMORY 0x80000000l 00520 00521 typedef struct _DD_GETAVAILDRIVERMEMORYDATA { 00522 PDD_DIRECTDRAW_GLOBAL lpDD; 00523 DDSCAPS DDSCaps; 00524 DWORD dwTotal; 00525 DWORD dwFree; 00526 HRESULT ddRVal; 00527 PVOID GetAvailDriverMemory; 00528 } DD_GETAVAILDRIVERMEMORYDATA, *PDD_GETAVAILDRIVERMEMORYDATA; 00529 typedef DWORD (WINAPI *PDD_GETAVAILDRIVERMEMORY)(PDD_GETAVAILDRIVERMEMORYDATA); 00530 00531 typedef struct _DD_MISCELLANEOUSCALLBACKS { 00532 DWORD dwSize; 00533 DWORD dwFlags; 00534 PDD_GETAVAILDRIVERMEMORY GetAvailDriverMemory; 00535 } DD_MISCELLANEOUSCALLBACKS, *PDD_MISCELLANEOUSCALLBACKS; 00536 00537 #define DDHAL_MISCCB32_GETAVAILDRIVERMEMORY 0x00000001 00538 00539 typedef DWORD (WINAPI *PDD_ALPHABLT)(PDD_BLTDATA); 00540 00541 typedef struct _DD_CREATESURFACEEXDATA { 00542 DWORD dwFlags; 00543 PDD_DIRECTDRAW_LOCAL lpDDLcl; 00544 PDD_SURFACE_LOCAL lpDDSLcl; 00545 HRESULT ddRVal; 00546 } DD_CREATESURFACEEXDATA, *PDD_CREATESURFACEEXDATA; 00547 typedef DWORD (WINAPI *PDD_CREATESURFACEEX)(PDD_CREATESURFACEEXDATA); 00548 00549 typedef struct _DD_GETDRIVERSTATEDATA { 00550 DWORD dwFlags; 00551 __GNU_EXTENSION union { 00552 PDD_DIRECTDRAW_GLOBAL lpDD; 00553 DWORD_PTR dwhContext; 00554 }; 00555 LPDWORD lpdwStates; 00556 DWORD dwLength; 00557 HRESULT ddRVal; 00558 } DD_GETDRIVERSTATEDATA, *PDD_GETDRIVERSTATEDATA; 00559 typedef DWORD (WINAPI *PDD_GETDRIVERSTATE)(PDD_GETDRIVERSTATEDATA); 00560 00561 typedef struct _DD_DESTROYDDLOCALDATA { 00562 DWORD dwFlags; 00563 PDD_DIRECTDRAW_LOCAL pDDLcl; 00564 HRESULT ddRVal; 00565 } DD_DESTROYDDLOCALDATA, *PDD_DESTROYDDLOCALDATA; 00566 typedef DWORD (WINAPI *PDD_DESTROYDDLOCAL)(PDD_DESTROYDDLOCALDATA); 00567 00568 typedef struct _DD_MISCELLANEOUS2CALLBACKS { 00569 DWORD dwSize; 00570 DWORD dwFlags; 00571 PDD_ALPHABLT AlphaBlt; 00572 PDD_CREATESURFACEEX CreateSurfaceEx; 00573 PDD_GETDRIVERSTATE GetDriverState; 00574 PDD_DESTROYDDLOCAL DestroyDDLocal; 00575 } DD_MISCELLANEOUS2CALLBACKS, *PDD_MISCELLANEOUS2CALLBACKS; 00576 00577 #define DDHAL_MISC2CB32_ALPHABLT 0x00000001 00578 #define DDHAL_MISC2CB32_CREATESURFACEEX 0x00000002 00579 #define DDHAL_MISC2CB32_GETDRIVERSTATE 0x00000004 00580 #define DDHAL_MISC2CB32_DESTROYDDLOCAL 0x00000008 00581 00582 typedef struct _DD_FREEDRIVERMEMORYDATA { 00583 PDD_DIRECTDRAW_GLOBAL lpDD; 00584 PDD_SURFACE_LOCAL lpDDSurface; 00585 HRESULT ddRVal; 00586 PVOID FreeDriverMemory; 00587 } DD_FREEDRIVERMEMORYDATA, *PDD_FREEDRIVERMEMORYDATA; 00588 typedef DWORD (WINAPI *PDD_FREEDRIVERMEMORY)(PDD_FREEDRIVERMEMORYDATA); 00589 00590 typedef struct _DD_SETEXCLUSIVEMODEDATA { 00591 PDD_DIRECTDRAW_GLOBAL lpDD; 00592 DWORD dwEnterExcl; 00593 DWORD dwReserved; 00594 HRESULT ddRVal; 00595 PVOID SetExclusiveMode; 00596 } DD_SETEXCLUSIVEMODEDATA, *PDD_SETEXCLUSIVEMODEDATA; 00597 typedef DWORD (WINAPI *PDD_SETEXCLUSIVEMODE)(PDD_SETEXCLUSIVEMODEDATA); 00598 00599 typedef struct _DD_FLIPTOGDISURFACEDATA { 00600 PDD_DIRECTDRAW_GLOBAL lpDD; 00601 DWORD dwToGDI; 00602 DWORD dwReserved; 00603 HRESULT ddRVal; 00604 PVOID FlipToGDISurface; 00605 } DD_FLIPTOGDISURFACEDATA, *PDD_FLIPTOGDISURFACEDATA; 00606 typedef DWORD (WINAPI *PDD_FLIPTOGDISURFACE)(PDD_FLIPTOGDISURFACEDATA); 00607 00608 typedef struct _DD_NTCALLBACKS { 00609 DWORD dwSize; 00610 DWORD dwFlags; 00611 PDD_FREEDRIVERMEMORY FreeDriverMemory; 00612 PDD_SETEXCLUSIVEMODE SetExclusiveMode; 00613 PDD_FLIPTOGDISURFACE FlipToGDISurface; 00614 } DD_NTCALLBACKS, *PDD_NTCALLBACKS; 00615 00616 #define DDHAL_NTCB32_FREEDRIVERMEMORY 0x00000001 00617 #define DDHAL_NTCB32_SETEXCLUSIVEMODE 0x00000002 00618 #define DDHAL_NTCB32_FLIPTOGDISURFACE 0x00000004 00619 00620 /************************************************************************/ 00621 /* IDirectDrawPalette callbacks */ 00622 /************************************************************************/ 00623 00624 typedef struct _DD_DESTROYPALETTEDATA { 00625 PDD_DIRECTDRAW_GLOBAL lpDD; 00626 PDD_PALETTE_GLOBAL lpDDPalette; 00627 HRESULT ddRVal; 00628 PVOID DestroyPalette; 00629 } DD_DESTROYPALETTEDATA, *PDD_DESTROYPALETTEDATA; 00630 typedef DWORD (WINAPI *PDD_PALCB_DESTROYPALETTE)(PDD_DESTROYPALETTEDATA); 00631 00632 typedef struct _DD_SETENTRIESDATA { 00633 PDD_DIRECTDRAW_GLOBAL lpDD; 00634 PDD_PALETTE_GLOBAL lpDDPalette; 00635 DWORD dwBase; 00636 DWORD dwNumEntries; 00637 LPPALETTEENTRY lpEntries; 00638 HRESULT ddRVal; 00639 PVOID SetEntries; 00640 } DD_SETENTRIESDATA, *PDD_SETENTRIESDATA; 00641 typedef DWORD (WINAPI *PDD_PALCB_SETENTRIES)(PDD_SETENTRIESDATA); 00642 00643 typedef struct DD_PALETTECALLBACKS { 00644 DWORD dwSize; 00645 DWORD dwFlags; 00646 PDD_PALCB_DESTROYPALETTE DestroyPalette; 00647 PDD_PALCB_SETENTRIES SetEntries; 00648 } DD_PALETTECALLBACKS, *PDD_PALETTECALLBACKS; 00649 00650 #define DDHAL_PALCB32_DESTROYPALETTE 0x00000001l 00651 #define DDHAL_PALCB32_SETENTRIES 0x00000002l 00652 00653 /************************************************************************/ 00654 /* IDirectDrawVideoport callbacks */ 00655 /************************************************************************/ 00656 00657 typedef struct _DD_CANCREATEVPORTDATA { 00658 PDD_DIRECTDRAW_LOCAL lpDD; 00659 LPDDVIDEOPORTDESC lpDDVideoPortDesc; 00660 HRESULT ddRVal; 00661 PVOID CanCreateVideoPort; 00662 } DD_CANCREATEVPORTDATA, *PDD_CANCREATEVPORTDATA; 00663 typedef DWORD (WINAPI *PDD_VPORTCB_CANCREATEVIDEOPORT)(PDD_CANCREATEVPORTDATA); 00664 00665 typedef struct _DD_CREATEVPORTDATA { 00666 PDD_DIRECTDRAW_LOCAL lpDD; 00667 LPDDVIDEOPORTDESC lpDDVideoPortDesc; 00668 PDD_VIDEOPORT_LOCAL lpVideoPort; 00669 HRESULT ddRVal; 00670 PVOID CreateVideoPort; 00671 } DD_CREATEVPORTDATA, *PDD_CREATEVPORTDATA; 00672 typedef DWORD (WINAPI *PDD_VPORTCB_CREATEVIDEOPORT)(PDD_CREATEVPORTDATA); 00673 00674 typedef struct _DD_FLIPVPORTDATA { 00675 PDD_DIRECTDRAW_LOCAL lpDD; 00676 PDD_VIDEOPORT_LOCAL lpVideoPort; 00677 PDD_SURFACE_LOCAL lpSurfCurr; 00678 PDD_SURFACE_LOCAL lpSurfTarg; 00679 HRESULT ddRVal; 00680 PVOID FlipVideoPort; 00681 } DD_FLIPVPORTDATA, *PDD_FLIPVPORTDATA; 00682 typedef DWORD (WINAPI *PDD_VPORTCB_FLIP)(PDD_FLIPVPORTDATA); 00683 00684 typedef struct _DD_GETVPORTBANDWIDTHDATA { 00685 PDD_DIRECTDRAW_LOCAL lpDD; 00686 PDD_VIDEOPORT_LOCAL lpVideoPort; 00687 LPDDPIXELFORMAT lpddpfFormat; 00688 DWORD dwWidth; 00689 DWORD dwHeight; 00690 DWORD dwFlags; 00691 LPDDVIDEOPORTBANDWIDTH lpBandwidth; 00692 HRESULT ddRVal; 00693 PVOID GetVideoPortBandwidth; 00694 } DD_GETVPORTBANDWIDTHDATA, *PDD_GETVPORTBANDWIDTHDATA; 00695 typedef DWORD (WINAPI *PDD_VPORTCB_GETBANDWIDTH)(PDD_GETVPORTBANDWIDTHDATA); 00696 00697 typedef struct _DD_GETVPORTINPUTFORMATDATA { 00698 PDD_DIRECTDRAW_LOCAL lpDD; 00699 PDD_VIDEOPORT_LOCAL lpVideoPort; 00700 DWORD dwFlags; 00701 LPDDPIXELFORMAT lpddpfFormat; 00702 DWORD dwNumFormats; 00703 HRESULT ddRVal; 00704 PVOID GetVideoPortInputFormats; 00705 } DD_GETVPORTINPUTFORMATDATA, *PDD_GETVPORTINPUTFORMATDATA; 00706 typedef DWORD (WINAPI *PDD_VPORTCB_GETINPUTFORMATS)(PDD_GETVPORTINPUTFORMATDATA); 00707 00708 typedef struct _DD_GETVPORTOUTPUTFORMATDATA { 00709 PDD_DIRECTDRAW_LOCAL lpDD; 00710 PDD_VIDEOPORT_LOCAL lpVideoPort; 00711 DWORD dwFlags; 00712 LPDDPIXELFORMAT lpddpfInputFormat; 00713 LPDDPIXELFORMAT lpddpfOutputFormats; 00714 DWORD dwNumFormats; 00715 HRESULT ddRVal; 00716 PVOID GetVideoPortInputFormats; 00717 } DD_GETVPORTOUTPUTFORMATDATA, *PDD_GETVPORTOUTPUTFORMATDATA; 00718 typedef DWORD (WINAPI *PDD_VPORTCB_GETOUTPUTFORMATS)(PDD_GETVPORTOUTPUTFORMATDATA); 00719 00720 typedef struct _DD_GETVPORTFIELDDATA { 00721 PDD_DIRECTDRAW_LOCAL lpDD; 00722 PDD_VIDEOPORT_LOCAL lpVideoPort; 00723 BOOL bField; 00724 HRESULT ddRVal; 00725 PVOID GetVideoPortField; 00726 } DD_GETVPORTFIELDDATA, *PDD_GETVPORTFIELDDATA; 00727 typedef DWORD (WINAPI *PDD_VPORTCB_GETFIELD)(PDD_GETVPORTFIELDDATA); 00728 00729 typedef struct _DD_GETVPORTLINEDATA { 00730 PDD_DIRECTDRAW_LOCAL lpDD; 00731 PDD_VIDEOPORT_LOCAL lpVideoPort; 00732 DWORD dwLine; 00733 HRESULT ddRVal; 00734 PVOID GetVideoPortLine; 00735 } DD_GETVPORTLINEDATA, *PDD_GETVPORTLINEDATA; 00736 typedef DWORD (WINAPI *PDD_VPORTCB_GETLINE)(PDD_GETVPORTLINEDATA); 00737 00738 typedef struct _DD_GETVPORTCONNECTDATA { 00739 PDD_DIRECTDRAW_LOCAL lpDD; 00740 DWORD dwPortId; 00741 LPDDVIDEOPORTCONNECT lpConnect; 00742 DWORD dwNumEntries; 00743 HRESULT ddRVal; 00744 PVOID GetVideoPortConnectInfo; 00745 } DD_GETVPORTCONNECTDATA, *PDD_GETVPORTCONNECTDATA; 00746 typedef DWORD (WINAPI *PDD_VPORTCB_GETVPORTCONNECT)(PDD_GETVPORTCONNECTDATA); 00747 00748 typedef struct _DD_DESTROYVPORTDATA { 00749 PDD_DIRECTDRAW_LOCAL lpDD; 00750 PDD_VIDEOPORT_LOCAL lpVideoPort; 00751 HRESULT ddRVal; 00752 PVOID DestroyVideoPort; 00753 } DD_DESTROYVPORTDATA, *PDD_DESTROYVPORTDATA; 00754 typedef DWORD (WINAPI *PDD_VPORTCB_DESTROYVPORT)(PDD_DESTROYVPORTDATA); 00755 00756 typedef struct _DD_GETVPORTFLIPSTATUSDATA { 00757 PDD_DIRECTDRAW_LOCAL lpDD; 00758 FLATPTR fpSurface; 00759 HRESULT ddRVal; 00760 PVOID GetVideoPortFlipStatus; 00761 } DD_GETVPORTFLIPSTATUSDATA, *PDD_GETVPORTFLIPSTATUSDATA; 00762 typedef DWORD (WINAPI *PDD_VPORTCB_GETFLIPSTATUS)(PDD_GETVPORTFLIPSTATUSDATA); 00763 00764 typedef struct _DD_UPDATEVPORTDATA { 00765 PDD_DIRECTDRAW_LOCAL lpDD; 00766 PDD_VIDEOPORT_LOCAL lpVideoPort; 00767 PDD_SURFACE_INT *lplpDDSurface; 00768 PDD_SURFACE_INT *lplpDDVBISurface; 00769 LPDDVIDEOPORTINFO lpVideoInfo; 00770 DWORD dwFlags; 00771 DWORD dwNumAutoflip; 00772 DWORD dwNumVBIAutoflip; 00773 HRESULT ddRVal; 00774 PVOID UpdateVideoPort; 00775 } DD_UPDATEVPORTDATA, *PDD_UPDATEVPORTDATA; 00776 typedef DWORD (WINAPI *PDD_VPORTCB_UPDATE)(PDD_UPDATEVPORTDATA); 00777 00778 typedef struct _DD_WAITFORVPORTSYNCDATA { 00779 PDD_DIRECTDRAW_LOCAL lpDD; 00780 PDD_VIDEOPORT_LOCAL lpVideoPort; 00781 DWORD dwFlags; 00782 DWORD dwLine; 00783 DWORD dwTimeOut; 00784 HRESULT ddRVal; 00785 PVOID UpdateVideoPort; 00786 } DD_WAITFORVPORTSYNCDATA, *PDD_WAITFORVPORTSYNCDATA; 00787 typedef DWORD (WINAPI *PDD_VPORTCB_WAITFORSYNC)(PDD_WAITFORVPORTSYNCDATA); 00788 00789 typedef struct _DD_GETVPORTSIGNALDATA { 00790 PDD_DIRECTDRAW_LOCAL lpDD; 00791 PDD_VIDEOPORT_LOCAL lpVideoPort; 00792 DWORD dwStatus; 00793 HRESULT ddRVal; 00794 PVOID GetVideoSignalStatus; 00795 } DD_GETVPORTSIGNALDATA, *PDD_GETVPORTSIGNALDATA; 00796 typedef DWORD (WINAPI *PDD_VPORTCB_GETSIGNALSTATUS)(PDD_GETVPORTSIGNALDATA); 00797 00798 typedef struct _DD_VPORTCOLORDATA { 00799 PDD_DIRECTDRAW_LOCAL lpDD; 00800 PDD_VIDEOPORT_LOCAL lpVideoPort; 00801 DWORD dwFlags; 00802 LPDDCOLORCONTROL lpColorData; 00803 HRESULT ddRVal; 00804 PVOID ColorControl; 00805 } DD_VPORTCOLORDATA, *PDD_VPORTCOLORDATA; 00806 typedef DWORD (WINAPI *PDD_VPORTCB_COLORCONTROL)(PDD_VPORTCOLORDATA); 00807 00808 typedef struct DD_VIDEOPORTCALLBACKS { 00809 DWORD dwSize; 00810 DWORD dwFlags; 00811 PDD_VPORTCB_CANCREATEVIDEOPORT CanCreateVideoPort; 00812 PDD_VPORTCB_CREATEVIDEOPORT CreateVideoPort; 00813 PDD_VPORTCB_FLIP FlipVideoPort; 00814 PDD_VPORTCB_GETBANDWIDTH GetVideoPortBandwidth; 00815 PDD_VPORTCB_GETINPUTFORMATS GetVideoPortInputFormats; 00816 PDD_VPORTCB_GETOUTPUTFORMATS GetVideoPortOutputFormats; 00817 PVOID lpReserved1; 00818 PDD_VPORTCB_GETFIELD GetVideoPortField; 00819 PDD_VPORTCB_GETLINE GetVideoPortLine; 00820 PDD_VPORTCB_GETVPORTCONNECT GetVideoPortConnectInfo; 00821 PDD_VPORTCB_DESTROYVPORT DestroyVideoPort; 00822 PDD_VPORTCB_GETFLIPSTATUS GetVideoPortFlipStatus; 00823 PDD_VPORTCB_UPDATE UpdateVideoPort; 00824 PDD_VPORTCB_WAITFORSYNC WaitForVideoPortSync; 00825 PDD_VPORTCB_GETSIGNALSTATUS GetVideoSignalStatus; 00826 PDD_VPORTCB_COLORCONTROL ColorControl; 00827 } DD_VIDEOPORTCALLBACKS, *PDD_VIDEOPORTCALLBACKS; 00828 00829 #define DDHAL_VPORT32_CANCREATEVIDEOPORT 0x00000001 00830 #define DDHAL_VPORT32_CREATEVIDEOPORT 0x00000002 00831 #define DDHAL_VPORT32_FLIP 0x00000004 00832 #define DDHAL_VPORT32_GETBANDWIDTH 0x00000008 00833 #define DDHAL_VPORT32_GETINPUTFORMATS 0x00000010 00834 #define DDHAL_VPORT32_GETOUTPUTFORMATS 0x00000020 00835 #define DDHAL_VPORT32_GETFIELD 0x00000080 00836 #define DDHAL_VPORT32_GETLINE 0x00000100 00837 #define DDHAL_VPORT32_GETCONNECT 0x00000200 00838 #define DDHAL_VPORT32_DESTROY 0x00000400 00839 #define DDHAL_VPORT32_GETFLIPSTATUS 0x00000800 00840 #define DDHAL_VPORT32_UPDATE 0x00001000 00841 #define DDHAL_VPORT32_WAITFORSYNC 0x00002000 00842 #define DDHAL_VPORT32_GETSIGNALSTATUS 0x00004000 00843 #define DDHAL_VPORT32_COLORCONTROL 0x00008000 00844 00845 00846 /************************************************************************/ 00847 /* IDirectDrawColorControl callbacks */ 00848 /************************************************************************/ 00849 00850 #define DDRAWI_GETCOLOR 0x0001 00851 #define DDRAWI_SETCOLOR 0x0002 00852 00853 typedef struct _DD_COLORCONTROLDATA { 00854 PDD_DIRECTDRAW_GLOBAL lpDD; 00855 PDD_SURFACE_LOCAL lpDDSurface; 00856 LPDDCOLORCONTROL lpColorData; 00857 DWORD dwFlags; 00858 HRESULT ddRVal; 00859 PVOID ColorControl; 00860 } DD_COLORCONTROLDATA, *PDD_COLORCONTROLDATA; 00861 typedef DWORD (WINAPI *PDD_COLORCB_COLORCONTROL)(PDD_COLORCONTROLDATA); 00862 00863 typedef struct _DD_COLORCONTROLCALLBACKS { 00864 DWORD dwSize; 00865 DWORD dwFlags; 00866 PDD_COLORCB_COLORCONTROL ColorControl; 00867 } DD_COLORCONTROLCALLBACKS, *PDD_COLORCONTROLCALLBACKS; 00868 00869 #define DDHAL_COLOR_COLORCONTROL 0x00000001 00870 00871 /************************************************************************/ 00872 /* IDirectDrawVideo callbacks */ 00873 /************************************************************************/ 00874 00875 typedef struct _DD_GETMOCOMPGUIDSDATA { 00876 PDD_DIRECTDRAW_LOCAL lpDD; 00877 DWORD dwNumGuids; 00878 GUID *lpGuids; 00879 HRESULT ddRVal; 00880 } DD_GETMOCOMPGUIDSDATA, *PDD_GETMOCOMPGUIDSDATA; 00881 typedef DWORD (WINAPI *PDD_MOCOMPCB_GETGUIDS)(PDD_GETMOCOMPGUIDSDATA); 00882 00883 typedef struct _DD_GETMOCOMPFORMATSDATA { 00884 PDD_DIRECTDRAW_LOCAL lpDD; 00885 GUID *lpGuid; 00886 DWORD dwNumFormats; 00887 LPDDPIXELFORMAT lpFormats; 00888 HRESULT ddRVal; 00889 } DD_GETMOCOMPFORMATSDATA, *PDD_GETMOCOMPFORMATSDATA; 00890 typedef DWORD (WINAPI *PDD_MOCOMPCB_GETFORMATS)(PDD_GETMOCOMPFORMATSDATA); 00891 00892 typedef struct _DD_CREATEMOCOMPDATA { 00893 PDD_DIRECTDRAW_LOCAL lpDD; 00894 PDD_MOTIONCOMP_LOCAL lpMoComp; 00895 GUID *lpGuid; 00896 DWORD dwUncompWidth; 00897 DWORD dwUncompHeight; 00898 DDPIXELFORMAT ddUncompPixelFormat; 00899 LPVOID lpData; 00900 DWORD dwDataSize; 00901 HRESULT ddRVal; 00902 } DD_CREATEMOCOMPDATA, *PDD_CREATEMOCOMPDATA; 00903 typedef DWORD (WINAPI *PDD_MOCOMPCB_CREATE)(PDD_CREATEMOCOMPDATA); 00904 00905 typedef struct _DDCOMPBUFFERINFO { 00906 DWORD dwSize; 00907 DWORD dwNumCompBuffers; 00908 DWORD dwWidthToCreate; 00909 DWORD dwHeightToCreate; 00910 DWORD dwBytesToAllocate; 00911 DDSCAPS2 ddCompCaps; 00912 DDPIXELFORMAT ddPixelFormat; 00913 } DDCOMPBUFFERINFO, *LPDDCOMPBUFFERINFO; 00914 00915 typedef struct _DD_GETMOCOMPCOMPBUFFDATA { 00916 PDD_DIRECTDRAW_LOCAL lpDD; 00917 GUID *lpGuid; 00918 DWORD dwWidth; 00919 DWORD dwHeight; 00920 DDPIXELFORMAT ddPixelFormat; 00921 DWORD dwNumTypesCompBuffs; 00922 LPDDCOMPBUFFERINFO lpCompBuffInfo; 00923 HRESULT ddRVal; 00924 } DD_GETMOCOMPCOMPBUFFDATA, *PDD_GETMOCOMPCOMPBUFFDATA; 00925 typedef DWORD (WINAPI *PDD_MOCOMPCB_GETCOMPBUFFINFO)(PDD_GETMOCOMPCOMPBUFFDATA); 00926 00927 typedef struct _DD_GETINTERNALMOCOMPDATA { 00928 PDD_DIRECTDRAW_LOCAL lpDD; 00929 GUID *lpGuid; 00930 DWORD dwWidth; 00931 DWORD dwHeight; 00932 DDPIXELFORMAT ddPixelFormat; 00933 DWORD dwScratchMemAlloc; 00934 HRESULT ddRVal; 00935 } DD_GETINTERNALMOCOMPDATA, *PDD_GETINTERNALMOCOMPDATA; 00936 typedef DWORD (WINAPI *PDD_MOCOMPCB_GETINTERNALINFO)(PDD_GETINTERNALMOCOMPDATA); 00937 00938 typedef struct _DD_BEGINMOCOMPFRAMEDATA { 00939 PDD_DIRECTDRAW_LOCAL lpDD; 00940 PDD_MOTIONCOMP_LOCAL lpMoComp; 00941 PDD_SURFACE_LOCAL lpDestSurface; 00942 DWORD dwInputDataSize; 00943 LPVOID lpInputData; 00944 DWORD dwOutputDataSize; 00945 LPVOID lpOutputData; 00946 HRESULT ddRVal; 00947 } DD_BEGINMOCOMPFRAMEDATA, *PDD_BEGINMOCOMPFRAMEDATA; 00948 typedef DWORD (WINAPI *PDD_MOCOMPCB_BEGINFRAME)(PDD_BEGINMOCOMPFRAMEDATA); 00949 00950 typedef struct _DD_ENDMOCOMPFRAMEDATA { 00951 PDD_DIRECTDRAW_LOCAL lpDD; 00952 PDD_MOTIONCOMP_LOCAL lpMoComp; 00953 LPVOID lpInputData; 00954 DWORD dwInputDataSize; 00955 HRESULT ddRVal; 00956 } DD_ENDMOCOMPFRAMEDATA, *PDD_ENDMOCOMPFRAMEDATA; 00957 typedef DWORD (WINAPI *PDD_MOCOMPCB_ENDFRAME)(PDD_ENDMOCOMPFRAMEDATA); 00958 00959 typedef struct _DDMOCOMPBUFFERINFO { 00960 DWORD dwSize; 00961 PDD_SURFACE_LOCAL lpCompSurface; 00962 DWORD dwDataOffset; 00963 DWORD dwDataSize; 00964 LPVOID lpPrivate; 00965 } DDMOCOMPBUFFERINFO, *LPDDMOCOMPBUFFERINFO; 00966 00967 typedef struct _DD_RENDERMOCOMPDATA { 00968 PDD_DIRECTDRAW_LOCAL lpDD; 00969 PDD_MOTIONCOMP_LOCAL lpMoComp; 00970 DWORD dwNumBuffers; 00971 LPDDMOCOMPBUFFERINFO lpBufferInfo; 00972 DWORD dwFunction; 00973 LPVOID lpInputData; 00974 DWORD dwInputDataSize; 00975 LPVOID lpOutputData; 00976 DWORD dwOutputDataSize; 00977 HRESULT ddRVal; 00978 } DD_RENDERMOCOMPDATA, *PDD_RENDERMOCOMPDATA; 00979 typedef DWORD (WINAPI *PDD_MOCOMPCB_RENDER)(PDD_RENDERMOCOMPDATA); 00980 00981 #define DDMCQUERY_READ 0x00000001 00982 00983 typedef struct _DD_QUERYMOCOMPSTATUSDATA { 00984 PDD_DIRECTDRAW_LOCAL lpDD; 00985 PDD_MOTIONCOMP_LOCAL lpMoComp; 00986 PDD_SURFACE_LOCAL lpSurface; 00987 DWORD dwFlags; 00988 HRESULT ddRVal; 00989 } DD_QUERYMOCOMPSTATUSDATA, *PDD_QUERYMOCOMPSTATUSDATA; 00990 typedef DWORD (WINAPI *PDD_MOCOMPCB_QUERYSTATUS)(PDD_QUERYMOCOMPSTATUSDATA); 00991 00992 typedef struct _DD_DESTROYMOCOMPDATA { 00993 PDD_DIRECTDRAW_LOCAL lpDD; 00994 PDD_MOTIONCOMP_LOCAL lpMoComp; 00995 HRESULT ddRVal; 00996 } DD_DESTROYMOCOMPDATA, *PDD_DESTROYMOCOMPDATA; 00997 typedef DWORD (WINAPI *PDD_MOCOMPCB_DESTROY)(PDD_DESTROYMOCOMPDATA); 00998 00999 typedef struct DD_MOTIONCOMPCALLBACKS { 01000 DWORD dwSize; 01001 DWORD dwFlags; 01002 PDD_MOCOMPCB_GETGUIDS GetMoCompGuids; 01003 PDD_MOCOMPCB_GETFORMATS GetMoCompFormats; 01004 PDD_MOCOMPCB_CREATE CreateMoComp; 01005 PDD_MOCOMPCB_GETCOMPBUFFINFO GetMoCompBuffInfo; 01006 PDD_MOCOMPCB_GETINTERNALINFO GetInternalMoCompInfo; 01007 PDD_MOCOMPCB_BEGINFRAME BeginMoCompFrame; 01008 PDD_MOCOMPCB_ENDFRAME EndMoCompFrame; 01009 PDD_MOCOMPCB_RENDER RenderMoComp; 01010 PDD_MOCOMPCB_QUERYSTATUS QueryMoCompStatus; 01011 PDD_MOCOMPCB_DESTROY DestroyMoComp; 01012 } DD_MOTIONCOMPCALLBACKS, *PDD_MOTIONCOMPCALLBACKS; 01013 01014 #define DDHAL_MOCOMP32_GETGUIDS 0x00000001 01015 #define DDHAL_MOCOMP32_GETFORMATS 0x00000002 01016 #define DDHAL_MOCOMP32_CREATE 0x00000004 01017 #define DDHAL_MOCOMP32_GETCOMPBUFFINFO 0x00000008 01018 #define DDHAL_MOCOMP32_GETINTERNALINFO 0x00000010 01019 #define DDHAL_MOCOMP32_BEGINFRAME 0x00000020 01020 #define DDHAL_MOCOMP32_ENDFRAME 0x00000040 01021 #define DDHAL_MOCOMP32_RENDER 0x00000080 01022 #define DDHAL_MOCOMP32_QUERYSTATUS 0x00000100 01023 #define DDHAL_MOCOMP32_DESTROY 0x00000200 01024 01025 /************************************************************************/ 01026 /* D3D buffer callbacks */ 01027 /************************************************************************/ 01028 01029 typedef struct _DD_D3DBUFCALLBACKS { 01030 DWORD dwSize; 01031 DWORD dwFlags; 01032 PDD_CANCREATESURFACE CanCreateD3DBuffer; 01033 PDD_CREATESURFACE CreateD3DBuffer; 01034 PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer; 01035 PDD_SURFCB_LOCK LockD3DBuffer; 01036 PDD_SURFCB_UNLOCK UnlockD3DBuffer; 01037 } DD_D3DBUFCALLBACKS, *PDD_D3DBUFCALLBACKS; 01038 01039 /************************************************************************/ 01040 /* DdGetDriverInfo callback */ 01041 /************************************************************************/ 01042 01043 typedef struct _DD_GETDRIVERINFODATA { 01044 // Input: 01045 PVOID dhpdev; 01046 DWORD dwSize; 01047 DWORD dwFlags; 01048 GUID guidInfo; 01049 DWORD dwExpectedSize; 01050 PVOID lpvData; 01051 // Output: 01052 DWORD dwActualSize; 01053 HRESULT ddRVal; 01054 } DD_GETDRIVERINFODATA, *PDD_GETDRIVERINFODATA; 01055 typedef DWORD (WINAPI *PDD_GETDRIVERINFO)(PDD_GETDRIVERINFODATA); 01056 01057 /************************************************************************/ 01058 /* Driver info structures */ 01059 /************************************************************************/ 01060 01061 typedef struct _DDNTCORECAPS { 01062 DWORD dwSize; 01063 DWORD dwCaps; 01064 DWORD dwCaps2; 01065 DWORD dwCKeyCaps; 01066 DWORD dwFXCaps; 01067 DWORD dwFXAlphaCaps; 01068 DWORD dwPalCaps; 01069 DWORD dwSVCaps; 01070 DWORD dwAlphaBltConstBitDepths; 01071 DWORD dwAlphaBltPixelBitDepths; 01072 DWORD dwAlphaBltSurfaceBitDepths; 01073 DWORD dwAlphaOverlayConstBitDepths; 01074 DWORD dwAlphaOverlayPixelBitDepths; 01075 DWORD dwAlphaOverlaySurfaceBitDepths; 01076 DWORD dwZBufferBitDepths; 01077 DWORD dwVidMemTotal; 01078 DWORD dwVidMemFree; 01079 DWORD dwMaxVisibleOverlays; 01080 DWORD dwCurrVisibleOverlays; 01081 DWORD dwNumFourCCCodes; 01082 DWORD dwAlignBoundarySrc; 01083 DWORD dwAlignSizeSrc; 01084 DWORD dwAlignBoundaryDest; 01085 DWORD dwAlignSizeDest; 01086 DWORD dwAlignStrideAlign; 01087 DWORD dwRops[DD_ROP_SPACE]; 01088 DDSCAPS ddsCaps; 01089 DWORD dwMinOverlayStretch; 01090 DWORD dwMaxOverlayStretch; 01091 DWORD dwMinLiveVideoStretch; 01092 DWORD dwMaxLiveVideoStretch; 01093 DWORD dwMinHwCodecStretch; 01094 DWORD dwMaxHwCodecStretch; 01095 DWORD dwReserved1; 01096 DWORD dwReserved2; 01097 DWORD dwReserved3; 01098 DWORD dwSVBCaps; 01099 DWORD dwSVBCKeyCaps; 01100 DWORD dwSVBFXCaps; 01101 DWORD dwSVBRops[DD_ROP_SPACE]; 01102 DWORD dwVSBCaps; 01103 DWORD dwVSBCKeyCaps; 01104 DWORD dwVSBFXCaps; 01105 DWORD dwVSBRops[DD_ROP_SPACE]; 01106 DWORD dwSSBCaps; 01107 DWORD dwSSBCKeyCaps; 01108 DWORD dwSSBFXCaps; 01109 DWORD dwSSBRops[DD_ROP_SPACE]; 01110 DWORD dwMaxVideoPorts; 01111 DWORD dwCurrVideoPorts; 01112 DWORD dwSVBCaps2; 01113 } DDNTCORECAPS, *PDDNTCORECAPS; 01114 01115 typedef struct _DD_HALINFO_V4 { 01116 DWORD dwSize; 01117 VIDEOMEMORYINFO vmiData; 01118 DDNTCORECAPS ddCaps; 01119 PDD_GETDRIVERINFO GetDriverInfo; 01120 DWORD dwFlags; 01121 } DD_HALINFO_V4, *PDD_HALINFO_V4; 01122 01123 typedef struct _DD_HALINFO { 01124 DWORD dwSize; 01125 VIDEOMEMORYINFO vmiData; 01126 DDNTCORECAPS ddCaps; 01127 PDD_GETDRIVERINFO GetDriverInfo; 01128 DWORD dwFlags; 01129 PVOID lpD3DGlobalDriverData; 01130 PVOID lpD3DHALCallbacks; 01131 PDD_D3DBUFCALLBACKS lpD3DBufCallbacks; 01132 } DD_HALINFO, *PDD_HALINFO; 01133 01134 typedef struct _DD_NONLOCALVIDMEMCAPS { 01135 DWORD dwSize; 01136 DWORD dwNLVBCaps; 01137 DWORD dwNLVBCaps2; 01138 DWORD dwNLVBCKeyCaps; 01139 DWORD dwNLVBFXCaps; 01140 DWORD dwNLVBRops[DD_ROP_SPACE]; 01141 } DD_NONLOCALVIDMEMCAPS, *PDD_NONLOCALVIDMEMCAPS; 01142 01143 typedef struct _DD_MORESURFACECAPS { 01144 DWORD dwSize; 01145 DDSCAPSEX ddsCapsMore; 01146 struct tagNTExtendedHeapRestrictions { 01147 DDSCAPSEX ddsCapsEx; 01148 DDSCAPSEX ddsCapsExAlt; 01149 } ddsExtendedHeapRestrictions[1]; 01150 } DD_MORESURFACECAPS, *PDD_MORESURFACECAPS; 01151 01152 01153 /*********************************************************/ 01154 /* Kernel Callbacks */ 01155 /*********************************************************/ 01156 typedef struct _DD_SYNCSURFACEDATA { 01157 PDD_DIRECTDRAW_LOCAL lpDD; 01158 PDD_SURFACE_LOCAL lpDDSurface; 01159 DWORD dwSurfaceOffset; 01160 ULONG_PTR fpLockPtr; 01161 LONG lPitch; 01162 DWORD dwOverlayOffset; 01163 ULONG dwDriverReserved1; 01164 ULONG dwDriverReserved2; 01165 ULONG dwDriverReserved3; 01166 ULONG dwDriverReserved4; 01167 HRESULT ddRVal; 01168 } DD_SYNCSURFACEDATA, *PDD_SYNCSURFACEDATA; 01169 typedef DWORD (WINAPI *PDD_KERNELCB_SYNCSURFACE)(PDD_SYNCSURFACEDATA); 01170 01171 typedef struct _DD_SYNCVIDEOPORTDATA { 01172 PDD_DIRECTDRAW_LOCAL lpDD; 01173 PDD_VIDEOPORT_LOCAL lpVideoPort; 01174 DWORD dwOriginOffset; 01175 DWORD dwHeight; 01176 DWORD dwVBIHeight; 01177 ULONG dwDriverReserved1; 01178 ULONG dwDriverReserved2; 01179 ULONG dwDriverReserved3; 01180 HRESULT ddRVal; 01181 } DD_SYNCVIDEOPORTDATA, *PDD_SYNCVIDEOPORTDATA; 01182 typedef DWORD (WINAPI *PDD_KERNELCB_SYNCVIDEOPORT)(PDD_SYNCVIDEOPORTDATA); 01183 01184 typedef struct DD_NTPRIVATEDRIVERCAPS { 01185 DWORD dwSize; 01186 DWORD dwPrivateCaps; 01187 } DD_NTPRIVATEDRIVERCAPS; 01188 01189 typedef struct _DD_UPDATENONLOCALHEAPDATA { 01190 PDD_DIRECTDRAW_GLOBAL lpDD; 01191 DWORD dwHeap; 01192 FLATPTR fpGARTLin; 01193 FLATPTR fpGARTDev; 01194 ULONG_PTR ulPolicyMaxBytes; 01195 HRESULT ddRVal; 01196 VOID* UpdateNonLocalHeap; 01197 } DD_UPDATENONLOCALHEAPDATA, *PDD_UPDATENONLOCALHEAPDATA; 01198 01199 typedef struct _DD_STEREOMODE { 01200 DWORD dwSize; 01201 DWORD dwHeight; 01202 DWORD dwWidth; 01203 DWORD dwBpp; 01204 DWORD dwRefreshRate; 01205 BOOL bSupported; 01206 } DD_STEREOMODE, *PDD_STEREOMODE; 01207 01208 typedef struct _DD_MORECAPS { 01209 DWORD dwSize; 01210 DWORD dwAlphaCaps; 01211 DWORD dwSVBAlphaCaps; 01212 DWORD dwVSBAlphaCaps; 01213 DWORD dwSSBAlphaCaps; 01214 DWORD dwFilterCaps; 01215 DWORD dwSVBFilterCaps; 01216 DWORD dwVSBFilterCaps; 01217 DWORD dwSSBFilterCaps; 01218 } DD_MORECAPS, *PDD_MORECAPS; 01219 01220 typedef struct _DD_CLIPPER_GLOBAL { 01221 ULONG_PTR dwReserved1; 01222 } DD_CLIPPER_GLOBAL; 01223 01224 typedef struct _DD_CLIPPER_LOCAL { 01225 ULONG_PTR dwReserved1; 01226 } DD_CLIPPER_LOCAL; 01227 01228 typedef struct _DD_PALETTE_LOCAL { 01229 ULONG dwReserved0; 01230 ULONG_PTR dwReserved1; 01231 } DD_PALETTE_LOCAL; 01232 01233 typedef struct DD_KERNELCALLBACKS { 01234 DWORD dwSize; 01235 DWORD dwFlags; 01236 PDD_KERNELCB_SYNCSURFACE SyncSurfaceData; 01237 PDD_KERNELCB_SYNCVIDEOPORT SyncVideoPortData; 01238 } DD_KERNELCALLBACKS, *PDD_KERNELCALLBACKS; 01239 01240 #define MAX_AUTOFLIP_BUFFERS 10 01241 #define DDSCAPS_EXECUTEBUFFER DDSCAPS_RESERVED2 01242 #define DDSCAPS_COMMANDBUFFER DDSCAPS_RESERVED3 01243 #define DDSCAPS_VERTEXBUFFER DDSCAPS_RESERVED4 01244 #define DDPF_D3DFORMAT 0x00200000l 01245 #define D3DFORMAT_OP_TEXTURE 0x00000001L 01246 #define D3DFORMAT_OP_VOLUMETEXTURE 0x00000002L 01247 #define D3DFORMAT_OP_CUBETEXTURE 0x00000004L 01248 #define D3DFORMAT_OP_OFFSCREEN_RENDERTARGET 0x00000008L 01249 #define D3DFORMAT_OP_SAME_FORMAT_RENDERTARGET 0x00000010L 01250 #define D3DFORMAT_OP_ZSTENCIL 0x00000040L 01251 #define D3DFORMAT_OP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH 0x00000080L 01252 #define D3DFORMAT_OP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET 0x00000100L 01253 #define D3DFORMAT_OP_DISPLAYMODE 0x00000400L 01254 #define D3DFORMAT_OP_3DACCELERATION 0x00000800L 01255 #define D3DFORMAT_OP_PIXELSIZE 0x00001000L 01256 #define D3DFORMAT_OP_CONVERT_TO_ARGB 0x00002000L 01257 #define D3DFORMAT_OP_OFFSCREENPLAIN 0x00004000L 01258 #define D3DFORMAT_OP_SRGBREAD 0x00008000L 01259 #define D3DFORMAT_OP_BUMPMAP 0x00010000L 01260 #define D3DFORMAT_OP_DMAP 0x00020000L 01261 #define D3DFORMAT_OP_NOFILTER 0x00040000L 01262 #define D3DFORMAT_MEMBEROFGROUP_ARGB 0x00080000L 01263 #define D3DFORMAT_OP_SRGBWRITE 0x00100000L 01264 #define D3DFORMAT_OP_NOALPHABLEND 0x00200000L 01265 #define D3DFORMAT_OP_AUTOGENMIPMAP 0x00400000L 01266 #define D3DFORMAT_OP_VERTEXTEXTURE 0x00800000L 01267 #define D3DFORMAT_OP_NOTEXCOORDWRAPNORMIP 0x01000000L 01268 #define DDHAL_PLEASEALLOC_BLOCKSIZE 0x00000002l 01269 #define DDHAL_PLEASEALLOC_USERMEM 0x00000004l 01270 01271 #define VIDMEM_ISLINEAR 0x00000001l 01272 #define VIDMEM_ISRECTANGULAR 0x00000002l 01273 #define VIDMEM_ISHEAP 0x00000004l 01274 #define VIDMEM_ISNONLOCAL 0x00000008l 01275 #define VIDMEM_ISWC 0x00000010l 01276 #define VIDMEM_HEAPDISABLED 0x00000020l 01277 01278 #define DDHAL_CREATESURFACEEX_SWAPHANDLES 0x00000001l 01279 01280 #define DDHAL_KERNEL_SYNCSURFACEDATA 0x00000001l 01281 #define DDHAL_KERNEL_SYNCVIDEOPORTDATA 0x00000002l 01282 01283 #define DDHAL_DRIVER_NOTHANDLED 0x00000000l 01284 #define DDHAL_DRIVER_HANDLED 0x00000001l 01285 #define DDHAL_DRIVER_NOCKEYHW 0x00000002l 01286 01287 #define DDRAWISURF_HASCKEYSRCBLT 0x00000800L 01288 #define DDRAWISURF_HASPIXELFORMAT 0x00002000L 01289 #define DDRAWISURF_HASOVERLAYDATA 0x00004000L 01290 #define DDRAWISURF_FRONTBUFFER 0x04000000L 01291 #define DDRAWISURF_BACKBUFFER 0x08000000L 01292 #define DDRAWISURF_INVALID 0x10000000L 01293 #define DDRAWISURF_DRIVERMANAGED 0x40000000L 01294 01295 #define ROP_HAS_SOURCE 0x00000001l 01296 #define ROP_HAS_PATTERN 0x00000002l 01297 #define ROP_HAS_SOURCEPATTERN ROP_HAS_SOURCE | ROP_HAS_PATTERN 01298 01299 #define DDHAL_EXEBUFCB32_CANCREATEEXEBUF 0x00000001l 01300 #define DDHAL_EXEBUFCB32_CREATEEXEBUF 0x00000002l 01301 #define DDHAL_EXEBUFCB32_DESTROYEXEBUF 0x00000004l 01302 #define DDHAL_EXEBUFCB32_LOCKEXEBUF 0x00000008l 01303 #define DDHAL_EXEBUFCB32_UNLOCKEXEBUF 0x00000010l 01304 01305 #define DDHAL_D3DBUFCB32_CANCREATED3DBUF DDHAL_EXEBUFCB32_CANCREATEEXEBUF 01306 #define DDHAL_D3DBUFCB32_CREATED3DBUF DDHAL_EXEBUFCB32_CREATEEXEBUF 01307 #define DDHAL_D3DBUFCB32_DESTROYD3DBUF DDHAL_EXEBUFCB32_DESTROYEXEBUF 01308 #define DDHAL_D3DBUFCB32_LOCKD3DBUF DDHAL_EXEBUFCB32_LOCKEXEBUF 01309 #define DDHAL_D3DBUFCB32_UNLOCKD3DBUF DDHAL_EXEBUFCB32_UNLOCKEXEBUF 01310 01311 #define DDHALINFO_ISPRIMARYDISPLAY 0x00000001 01312 #define DDHALINFO_MODEXILLEGAL 0x00000002 01313 #define DDHALINFO_GETDRIVERINFOSET 0x00000004 01314 #define DDHALINFO_GETDRIVERINFO2 0x00000008 01315 01316 #define DDRAWIVPORT_ON 0x00000001 01317 #define DDRAWIVPORT_SOFTWARE_AUTOFLIP 0x00000002 01318 #define DDRAWIVPORT_COLORKEYANDINTERP 0x00000004 01319 01320 #define DDHAL_PRIVATECAP_ATOMICSURFACECREATION 0x00000001l 01321 #define DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION 0x00000002l 01322 #define DDHAL_PRIVATECAP_RESERVED1 0x00000004l 01323 01324 #define DDRAWI_VPORTSTART 0x0001 01325 #define DDRAWI_VPORTSTOP 0x0002 01326 #define DDRAWI_VPORTUPDATE 0x0003 01327 #define DDRAWI_VPORTGETCOLOR 0x0001 01328 #define DDRAWI_VPORTSETCOLOR 0x0002 01329 01330 #ifdef __cplusplus 01331 } /* extern "C" */ 01332 #endif 01333 01334 #endif /* GUID_DEFS_ONLY */ 01335 01336 #endif /* __DD_INCLUDED__ */ Generated on Sun May 27 2012 04:31:22 for ReactOS by
1.7.6.1
|