+++ /dev/null
-/*
- * ddrawint.h
- *
- * DirectDraw NT driver interface
- *
- * Contributors:
- * Created by Ge van Geldorp
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __DD_INCLUDED__
-#define __DD_INCLUDED__
-
-DEFINE_GUID( GUID_MiscellaneousCallbacks, 0xEFD60CC0, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a);
-DEFINE_GUID( GUID_Miscellaneous2Callbacks, 0x406B2F00, 0x3E5A, 0x11D1, 0xB6, 0x40, 0x00, 0xAA, 0x00, 0xA1, 0xF9, 0x6A);
-DEFINE_GUID( GUID_VideoPortCallbacks, 0xefd60cc1, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a);
-DEFINE_GUID( GUID_ColorControlCallbacks, 0xefd60cc2, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a);
-DEFINE_GUID( GUID_MotionCompCallbacks, 0xb1122b40, 0x5dA5, 0x11d1, 0x8f, 0xcF, 0x00, 0xc0, 0x4f, 0xc2, 0x9b, 0x4e);
-DEFINE_GUID( GUID_VideoPortCaps, 0xefd60cc3, 0x49e7, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a);
-DEFINE_GUID( GUID_D3DCaps, 0x7bf06991, 0x8794, 0x11d0, 0x91, 0x39, 0x08, 0x00, 0x36, 0xd2, 0xef, 0x02);
-DEFINE_GUID( GUID_D3DExtendedCaps, 0x7de41f80, 0x9d93, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29);
-DEFINE_GUID( GUID_D3DCallbacks, 0x7bf06990, 0x8794, 0x11d0, 0x91, 0x39, 0x08, 0x00, 0x36, 0xd2, 0xef, 0x02);
-DEFINE_GUID( GUID_D3DCallbacks2, 0xba584e1, 0x70b6, 0x11d0, 0x88, 0x9d, 0x0, 0xaa, 0x0, 0xbb, 0xb7, 0x6a);
-DEFINE_GUID( GUID_D3DCallbacks3, 0xddf41230, 0xec0a, 0x11d0, 0xa9, 0xb6, 0x00, 0xaa, 0x00, 0xc0, 0x99, 0x3e);
-DEFINE_GUID( GUID_NonLocalVidMemCaps, 0x86c4fa80, 0x8d84, 0x11d0, 0x94, 0xe8, 0x00, 0xc0, 0x4f, 0xc3, 0x41, 0x37);
-DEFINE_GUID( GUID_KernelCallbacks, 0x80863800, 0x6B06, 0x11D0, 0x9B, 0x06, 0x0, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
-DEFINE_GUID( GUID_KernelCaps, 0xFFAA7540, 0x7AA8, 0x11D0, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
-DEFINE_GUID( GUID_ZPixelFormats, 0x93869880, 0x36cf, 0x11d1, 0x9b, 0x1b, 0x0, 0xaa, 0x0, 0xbb, 0xb8, 0xae);
-DEFINE_GUID( GUID_DDMoreCaps, 0x880baf30, 0xb030, 0x11d0, 0x8e, 0xa7, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b);
-DEFINE_GUID( GUID_D3DParseUnknownCommandCallback, 0x2e04ffa0, 0x98e4, 0x11d1, 0x8c, 0xe1, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
-DEFINE_GUID( GUID_NTCallbacks, 0x6fe9ecde, 0xdf89, 0x11d1, 0x9d, 0xb0, 0x00, 0x60, 0x08, 0x27, 0x71, 0xba);
-DEFINE_GUID( GUID_DDMoreSurfaceCaps, 0x3b8a0466, 0xf269, 0x11d1, 0x88, 0x0b, 0x0, 0xc0, 0x4f, 0xd9, 0x30, 0xc5);
-DEFINE_GUID( GUID_GetHeapAlignment, 0x42e02f16, 0x7b41, 0x11d2, 0x8b, 0xff, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6);
-DEFINE_GUID( GUID_UpdateNonLocalHeap, 0x42e02f17, 0x7b41, 0x11d2, 0x8b, 0xff, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6);
-DEFINE_GUID( GUID_NTPrivateDriverCaps, 0xfad16a23, 0x7b66, 0x11d2, 0x83, 0xd7, 0x0, 0xc0, 0x4f, 0x7c, 0xe5, 0x8c);
-DEFINE_GUID( GUID_DDStereoMode, 0xf828169c, 0xa8e8, 0x11d2, 0xa1, 0xf2, 0x0, 0xa0, 0xc9, 0x83, 0xea, 0xf6);
-DEFINE_GUID( GUID_VPE2Callbacks, 0x52882147, 0x2d47, 0x469a, 0xa0, 0xd1, 0x3, 0x45, 0x58, 0x90, 0xf6, 0xc8);
-
-
-#ifndef GUID_DEFS_ONLY
-
-#ifndef _NO_DDRAWINT_NO_COM
-#ifndef _NO_COM
-#define _NO_COM
-#include <ddraw.h>
-#include <dvp.h>
-#undef _NO_COM
-#else
-#include <ddraw.h>
-#include <dvp.h>
-#endif
-#else
-#include <ddraw.h>
-#include <dvp.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef MAKE_HRESULT // fixme this if statment should not be here, but MAKE_HRESULT should be here
-#define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
-#endif
-
-#ifndef FLATPTR_DEFINED
-typedef ULONG_PTR FLATPTR;
-#define FLATPTR_DEFINED
-#endif
-
-typedef struct _DD_VIDEOPORT_LOCAL *PDD_VIDEOPORT_LOCAL;
-
-/************************************************************************/
-/* _DD_GETHEAPALIGNMENTDATA is defined in dmemmgr.h */
- /************************************************************************/
-struct _DD_GETHEAPALIGNMENTDATA;
-#ifndef DD_GETHEAPALIGNMENTDATA_DECLARED
-typedef struct _DD_GETHEAPALIGNMENTDATA *PDD_GETHEAPALIGNMENTDATA;
-#define DD_GETHEAPALIGNMENTDATA_DECLARED
-#endif
-
-/************************************************************************/
-/* Video memory info structures */
-/************************************************************************/
-
-typedef struct _VIDEOMEMORY {
- DWORD dwFlags;
- FLATPTR fpStart;
- __GNU_EXTENSION union {
- FLATPTR fpEnd;
- DWORD dwWidth;
- };
- DDSCAPS ddsCaps;
- DDSCAPS ddsCapsAlt;
- __GNU_EXTENSION union {
- struct _VMEMHEAP *lpHeap;
- DWORD dwHeight;
- };
-} VIDEOMEMORY, *PVIDEOMEMORY;
-
-typedef struct _VIDEOMEMORYINFO {
- FLATPTR fpPrimary;
- DWORD dwFlags;
- DWORD dwDisplayWidth;
- DWORD dwDisplayHeight;
- LONG lDisplayPitch;
- DDPIXELFORMAT ddpfDisplay;
- DWORD dwOffscreenAlign;
- DWORD dwOverlayAlign;
- DWORD dwTextureAlign;
- DWORD dwZBufferAlign;
- DWORD dwAlphaAlign;
- PVOID pvPrimary;
-} VIDEOMEMORYINFO, *LPVIDEOMEMORYINFO;
-
-typedef struct _DD_DIRECTDRAW_GLOBAL {
- PVOID dhpdev;
- ULONG_PTR dwReserved1;
- ULONG_PTR dwReserved2;
- LPDDVIDEOPORTCAPS lpDDVideoPortCaps;
-} DD_DIRECTDRAW_GLOBAL, *PDD_DIRECTDRAW_GLOBAL;
-
-typedef struct _DD_DIRECTDRAW_LOCAL {
- PDD_DIRECTDRAW_GLOBAL lpGbl;
-} DD_DIRECTDRAW_LOCAL, *PDD_DIRECTDRAW_LOCAL;
-
-typedef struct _DD_SURFACE_GLOBAL {
- __GNU_EXTENSION union {
- DWORD dwBlockSizeY;
- LONG lSlicePitch;
- };
- __GNU_EXTENSION union {
- PVIDEOMEMORY lpVidMemHeap;
- DWORD dwBlockSizeX;
- DWORD dwUserMemSize;
- };
- FLATPTR fpVidMem;
- __GNU_EXTENSION union {
- LONG lPitch;
- DWORD dwLinearSize;
- };
- LONG yHint;
- LONG xHint;
- DWORD wHeight;
- DWORD wWidth;
- ULONG_PTR dwReserved1;
- DDPIXELFORMAT ddpfSurface;
- FLATPTR fpHeapOffset;
- HANDLE hCreatorProcess;
-} DD_SURFACE_GLOBAL, *PDD_SURFACE_GLOBAL;
-
-typedef struct _DD_SURFACE_MORE {
- DWORD dwMipMapCount;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- DWORD dwOverlayFlags;
- DDSCAPSEX ddsCapsEx;
- DWORD dwSurfaceHandle;
-} DD_SURFACE_MORE, *PDD_SURFACE_MORE;
-
-typedef struct _DD_ATTACHLIST *PDD_ATTACHLIST;
-
-typedef struct _DD_SURFACE_LOCAL {
- PDD_SURFACE_GLOBAL lpGbl;
- DWORD dwFlags;
- DDSCAPS ddsCaps;
- ULONG_PTR dwReserved1;
- __GNU_EXTENSION union {
- DDCOLORKEY ddckCKSrcOverlay;
- DDCOLORKEY ddckCKSrcBlt;
- };
- __GNU_EXTENSION union {
- DDCOLORKEY ddckCKDestOverlay;
- DDCOLORKEY ddckCKDestBlt;
- };
- PDD_SURFACE_MORE lpSurfMore;
- PDD_ATTACHLIST lpAttachList;
- PDD_ATTACHLIST lpAttachListFrom;
- RECT rcOverlaySrc;
-} DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL;
-
-typedef struct _DD_ATTACHLIST {
- PDD_ATTACHLIST lpLink;
- PDD_SURFACE_LOCAL lpAttached;
-} DD_ATTACHLIST;
-
-typedef struct _DD_SURFACE_INT {
- PDD_SURFACE_LOCAL lpLcl;
-} DD_SURFACE_INT, *PDD_SURFACE_INT;
-
-/************************************************************************/
-/* DDI representation of the DirectDrawPalette object */
-/************************************************************************/
-
-typedef struct _DD_PALETTE_GLOBAL {
- ULONG_PTR Reserved1;
-} DD_PALETTE_GLOBAL, *PDD_PALETTE_GLOBAL;
-
-/************************************************************************/
-/* DDI representation of the DirectDrawVideo object */
-/************************************************************************/
-
-typedef struct {
- PDD_DIRECTDRAW_LOCAL lpDD;
- GUID guid;
- DWORD dwUncompWidth;
- DWORD dwUncompHeight;
- DDPIXELFORMAT ddUncompPixelFormat;
- DWORD dwDriverReserved1;
- DWORD dwDriverReserved2;
- DWORD dwDriverReserved3;
- LPVOID lpDriverReserved1;
- LPVOID lpDriverReserved2;
- LPVOID lpDriverReserved3;
-} DD_MOTIONCOMP_LOCAL, *PDD_MOTIONCOMP_LOCAL;
-
-typedef struct _DD_VIDEOPORT_LOCAL {
- PDD_DIRECTDRAW_LOCAL lpDD;
- DDVIDEOPORTDESC ddvpDesc;
- DDVIDEOPORTINFO ddvpInfo;
- PDD_SURFACE_INT lpSurface;
- PDD_SURFACE_INT lpVBISurface;
- DWORD dwNumAutoflip;
- DWORD dwNumVBIAutoflip;
- ULONG_PTR dwReserved1;
- ULONG_PTR dwReserved2;
- ULONG_PTR dwReserved3;
-} DD_VIDEOPORT_LOCAL;
-
-/************************************************************************/
-/* IDirectDrawSurface callbacks */
-/************************************************************************/
-
-typedef struct _DD_LOCKDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- DWORD bHasRect;
- RECTL rArea;
- LPVOID lpSurfData;
- HRESULT ddRVal;
- PVOID Lock;
- DWORD dwFlags;
- FLATPTR fpProcess;
-} DD_LOCKDATA, *PDD_LOCKDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_LOCK)(PDD_LOCKDATA);
-
-typedef struct _DD_UNLOCKDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- HRESULT ddRVal;
- PVOID Unlock;
-} DD_UNLOCKDATA, *PDD_UNLOCKDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_UNLOCK)(PDD_UNLOCKDATA);
-
-#define DDABLT_SRCOVERDEST 0x00000001
-#define DDBLT_AFLAGS 0x80000000
-
-typedef struct _DD_BLTDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDDestSurface;
- RECTL rDest;
- PDD_SURFACE_LOCAL lpDDSrcSurface;
- RECTL rSrc;
- DWORD dwFlags;
- DWORD dwROPFlags;
- DDBLTFX bltFX;
- HRESULT ddRVal;
- PVOID Blt;
- BOOL IsClipped;
- RECTL rOrigDest;
- RECTL rOrigSrc;
- DWORD dwRectCnt;
- LPRECT prDestRects;
- DWORD dwAFlags;
- DDARGB ddargbScaleFactors;
-} DD_BLTDATA, *PDD_BLTDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_BLT)(PDD_BLTDATA);
-
-typedef struct _DD_UPDATEOVERLAYDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDDestSurface;
- RECTL rDest;
- PDD_SURFACE_LOCAL lpDDSrcSurface;
- RECTL rSrc;
- DWORD dwFlags;
- DDOVERLAYFX overlayFX;
- HRESULT ddRVal;
- PVOID UpdateOverlay;
-} DD_UPDATEOVERLAYDATA, *PDD_UPDATEOVERLAYDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_UPDATEOVERLAY)(PDD_UPDATEOVERLAYDATA);
-
-typedef struct _DD_SETOVERLAYPOSITIONDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSrcSurface;
- PDD_SURFACE_LOCAL lpDDDestSurface;
- LONG lXPos;
- LONG lYPos;
- HRESULT ddRVal;
- PVOID SetOverlayPosition;
-} DD_SETOVERLAYPOSITIONDATA, *PDD_SETOVERLAYPOSITIONDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_SETOVERLAYPOSITION)(PDD_SETOVERLAYPOSITIONDATA);
-
-typedef struct _DD_SETPALETTEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- PDD_PALETTE_GLOBAL lpDDPalette;
- HRESULT ddRVal;
- PVOID SetPalette;
- BOOL Attach;
-} DD_SETPALETTEDATA, *PDD_SETPALETTEDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_SETPALETTE)(PDD_SETPALETTEDATA);
-
-typedef struct _DD_FLIPDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpSurfCurr;
- PDD_SURFACE_LOCAL lpSurfTarg;
- DWORD dwFlags;
- HRESULT ddRVal;
- PVOID Flip;
- PDD_SURFACE_LOCAL lpSurfCurrLeft;
- PDD_SURFACE_LOCAL lpSurfTargLeft;
-} DD_FLIPDATA, *PDD_FLIPDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_FLIP)(PDD_FLIPDATA);
-
-typedef struct _DD_DESTROYSURFACEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- HRESULT ddRVal;
- PVOID DestroySurface;
-} DD_DESTROYSURFACEDATA, *PDD_DESTROYSURFACEDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_DESTROYSURFACE)(PDD_DESTROYSURFACEDATA);
-
-typedef struct _DD_SETCLIPLISTDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- HRESULT ddRVal;
- PVOID SetClipList;
-} DD_SETCLIPLISTDATA, *PDD_SETCLIPLISTDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_SETCLIPLIST)(PDD_SETCLIPLISTDATA);
-
-typedef struct _DD_ADDATTACHEDSURFACEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- PDD_SURFACE_LOCAL lpSurfAttached;
- HRESULT ddRVal;
- PVOID AddAttachedSurface;
-} DD_ADDATTACHEDSURFACEDATA, *PDD_ADDATTACHEDSURFACEDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_ADDATTACHEDSURFACE)(PDD_ADDATTACHEDSURFACEDATA);
-
-typedef struct _DD_SETCOLORKEYDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- DWORD dwFlags;
- DDCOLORKEY ckNew;
- HRESULT ddRVal;
- PVOID SetColorKey;
-} DD_SETCOLORKEYDATA, *PDD_SETCOLORKEYDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_SETCOLORKEY)(PDD_SETCOLORKEYDATA);
-
-typedef struct _DD_GETBLTSTATUSDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- DWORD dwFlags;
- HRESULT ddRVal;
- PVOID GetBltStatus;
-} DD_GETBLTSTATUSDATA, *PDD_GETBLTSTATUSDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_GETBLTSTATUS)(PDD_GETBLTSTATUSDATA);
-
-typedef struct _DD_GETFLIPSTATUSDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- DWORD dwFlags;
- HRESULT ddRVal;
- PVOID GetFlipStatus;
-} DD_GETFLIPSTATUSDATA, *PDD_GETFLIPSTATUSDATA;
-typedef DWORD (WINAPI *PDD_SURFCB_GETFLIPSTATUS)(PDD_GETFLIPSTATUSDATA);
-
-typedef struct DD_SURFACECALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_SURFCB_DESTROYSURFACE DestroySurface;
- PDD_SURFCB_FLIP Flip;
- PDD_SURFCB_SETCLIPLIST SetClipList;
- PDD_SURFCB_LOCK Lock;
- PDD_SURFCB_UNLOCK Unlock;
- PDD_SURFCB_BLT Blt;
- PDD_SURFCB_SETCOLORKEY SetColorKey;
- PDD_SURFCB_ADDATTACHEDSURFACE AddAttachedSurface;
- PDD_SURFCB_GETBLTSTATUS GetBltStatus;
- PDD_SURFCB_GETFLIPSTATUS GetFlipStatus;
- PDD_SURFCB_UPDATEOVERLAY UpdateOverlay;
- PDD_SURFCB_SETOVERLAYPOSITION SetOverlayPosition;
- PVOID reserved4;
- PDD_SURFCB_SETPALETTE SetPalette;
-} DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS;
-
-#define DDHAL_SURFCB32_DESTROYSURFACE 0x00000001
-#define DDHAL_SURFCB32_FLIP 0x00000002
-#define DDHAL_SURFCB32_SETCLIPLIST 0x00000004
-#define DDHAL_SURFCB32_LOCK 0x00000008
-#define DDHAL_SURFCB32_UNLOCK 0x00000010
-#define DDHAL_SURFCB32_BLT 0x00000020
-#define DDHAL_SURFCB32_SETCOLORKEY 0x00000040
-#define DDHAL_SURFCB32_ADDATTACHEDSURFACE 0x00000080
-#define DDHAL_SURFCB32_GETBLTSTATUS 0x00000100
-#define DDHAL_SURFCB32_GETFLIPSTATUS 0x00000200
-#define DDHAL_SURFCB32_UPDATEOVERLAY 0x00000400
-#define DDHAL_SURFCB32_SETOVERLAYPOSITION 0x00000800
-#define DDHAL_SURFCB32_RESERVED4 0x00001000
-#define DDHAL_SURFCB32_SETPALETTE 0x00002000
-
-/************************************************************************/
-/* IDirectDraw callbacks */
-/************************************************************************/
-
-typedef struct _DD_CREATESURFACEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DDSURFACEDESC *lpDDSurfaceDesc;
- PDD_SURFACE_LOCAL *lplpSList;
- DWORD dwSCnt;
- HRESULT ddRVal;
- PVOID CreateSurface;
-} DD_CREATESURFACEDATA, *PDD_CREATESURFACEDATA;
-typedef DWORD (WINAPI *PDD_CREATESURFACE)(PDD_CREATESURFACEDATA);
-
-typedef struct _DD_DRVSETCOLORKEYDATA {
- PDD_SURFACE_LOCAL lpDDSurface;
- DWORD dwFlags;
- DDCOLORKEY ckNew;
- HRESULT ddRVal;
- PVOID SetColorKey;
-} DD_DRVSETCOLORKEYDATA, *PDD_DRVSETCOLORKEYDATA;
-typedef DWORD (WINAPI *PDD_SETCOLORKEY)(PDD_DRVSETCOLORKEYDATA);
-
-#define DDWAITVB_I_TESTVB 0x80000006
-
-typedef struct _DD_WAITFORVERTICALBLANKDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DWORD dwFlags;
- DWORD bIsInVB;
- DWORD hEvent;
- HRESULT ddRVal;
- PVOID WaitForVerticalBlank;
-} DD_WAITFORVERTICALBLANKDATA, *PDD_WAITFORVERTICALBLANKDATA;
-typedef DWORD (WINAPI *PDD_WAITFORVERTICALBLANK)(PDD_WAITFORVERTICALBLANKDATA);
-
-typedef struct _DD_CANCREATESURFACEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DDSURFACEDESC *lpDDSurfaceDesc;
- DWORD bIsDifferentPixelFormat;
- HRESULT ddRVal;
- PVOID CanCreateSurface;
-} DD_CANCREATESURFACEDATA, *PDD_CANCREATESURFACEDATA;
-typedef DWORD (WINAPI *PDD_CANCREATESURFACE)(PDD_CANCREATESURFACEDATA);
-
-typedef struct _DD_CREATEPALETTEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_PALETTE_GLOBAL lpDDPalette;
- LPPALETTEENTRY lpColorTable;
- HRESULT ddRVal;
- PVOID CreatePalette;
- BOOL is_excl;
-} DD_CREATEPALETTEDATA, *PDD_CREATEPALETTEDATA;
-typedef DWORD (WINAPI *PDD_CREATEPALETTE)(PDD_CREATEPALETTEDATA);
-
-typedef struct _DD_GETSCANLINEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DWORD dwScanLine;
- HRESULT ddRVal;
- PVOID GetScanLine;
-} DD_GETSCANLINEDATA, *PDD_GETSCANLINEDATA;
-typedef DWORD (WINAPI *PDD_GETSCANLINE)(PDD_GETSCANLINEDATA);
-
-typedef struct _DD_MAPMEMORYDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- BOOL bMap;
- HANDLE hProcess;
- FLATPTR fpProcess;
- HRESULT ddRVal;
-} DD_MAPMEMORYDATA, *PDD_MAPMEMORYDATA;
-typedef DWORD (WINAPI *PDD_MAPMEMORY)(PDD_MAPMEMORYDATA);
-
-typedef struct _DD_DESTROYDRIVERDATA *PDD_DESTROYDRIVERDATA;
-typedef struct _DD_SETMODEDATA *PDD_SETMODEDATA;
-
-typedef DWORD (APIENTRY *PDD_DESTROYDRIVER)(PDD_DESTROYDRIVERDATA);
-typedef DWORD (APIENTRY *PDD_SETMODE)(PDD_SETMODEDATA);
-
-typedef struct DD_CALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_DESTROYDRIVER DestroyDriver;
- PDD_CREATESURFACE CreateSurface;
- PDD_SETCOLORKEY SetColorKey;
- PDD_SETMODE SetMode;
- PDD_WAITFORVERTICALBLANK WaitForVerticalBlank;
- PDD_CANCREATESURFACE CanCreateSurface;
- PDD_CREATEPALETTE CreatePalette;
- PDD_GETSCANLINE GetScanLine;
- PDD_MAPMEMORY MapMemory;
-} DD_CALLBACKS, *PDD_CALLBACKS;
-
-#define DDHAL_CB32_DESTROYDRIVER 0x00000001l
-#define DDHAL_CB32_CREATESURFACE 0x00000002l
-#define DDHAL_CB32_SETCOLORKEY 0x00000004l
-#define DDHAL_CB32_SETMODE 0x00000008l
-#define DDHAL_CB32_WAITFORVERTICALBLANK 0x00000010l
-#define DDHAL_CB32_CANCREATESURFACE 0x00000020l
-#define DDHAL_CB32_CREATEPALETTE 0x00000040l
-#define DDHAL_CB32_GETSCANLINE 0x00000080l
-#define DDHAL_CB32_MAPMEMORY 0x80000000l
-
-typedef struct _DD_GETAVAILDRIVERMEMORYDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DDSCAPS DDSCaps;
- DWORD dwTotal;
- DWORD dwFree;
- HRESULT ddRVal;
- PVOID GetAvailDriverMemory;
-} DD_GETAVAILDRIVERMEMORYDATA, *PDD_GETAVAILDRIVERMEMORYDATA;
-typedef DWORD (WINAPI *PDD_GETAVAILDRIVERMEMORY)(PDD_GETAVAILDRIVERMEMORYDATA);
-
-typedef struct _DD_MISCELLANEOUSCALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_GETAVAILDRIVERMEMORY GetAvailDriverMemory;
-} DD_MISCELLANEOUSCALLBACKS, *PDD_MISCELLANEOUSCALLBACKS;
-
-#define DDHAL_MISCCB32_GETAVAILDRIVERMEMORY 0x00000001
-
-typedef DWORD (WINAPI *PDD_ALPHABLT)(PDD_BLTDATA);
-
-typedef struct _DD_CREATESURFACEEXDATA {
- DWORD dwFlags;
- PDD_DIRECTDRAW_LOCAL lpDDLcl;
- PDD_SURFACE_LOCAL lpDDSLcl;
- HRESULT ddRVal;
-} DD_CREATESURFACEEXDATA, *PDD_CREATESURFACEEXDATA;
-typedef DWORD (WINAPI *PDD_CREATESURFACEEX)(PDD_CREATESURFACEEXDATA);
-
-typedef struct _DD_GETDRIVERSTATEDATA {
- DWORD dwFlags;
- __GNU_EXTENSION union {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DWORD_PTR dwhContext;
- };
- LPDWORD lpdwStates;
- DWORD dwLength;
- HRESULT ddRVal;
-} DD_GETDRIVERSTATEDATA, *PDD_GETDRIVERSTATEDATA;
-typedef DWORD (WINAPI *PDD_GETDRIVERSTATE)(PDD_GETDRIVERSTATEDATA);
-
-typedef struct _DD_DESTROYDDLOCALDATA {
- DWORD dwFlags;
- PDD_DIRECTDRAW_LOCAL pDDLcl;
- HRESULT ddRVal;
-} DD_DESTROYDDLOCALDATA, *PDD_DESTROYDDLOCALDATA;
-typedef DWORD (WINAPI *PDD_DESTROYDDLOCAL)(PDD_DESTROYDDLOCALDATA);
-
-typedef struct _DD_MISCELLANEOUS2CALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_ALPHABLT AlphaBlt;
- PDD_CREATESURFACEEX CreateSurfaceEx;
- PDD_GETDRIVERSTATE GetDriverState;
- PDD_DESTROYDDLOCAL DestroyDDLocal;
-} DD_MISCELLANEOUS2CALLBACKS, *PDD_MISCELLANEOUS2CALLBACKS;
-
-#define DDHAL_MISC2CB32_ALPHABLT 0x00000001
-#define DDHAL_MISC2CB32_CREATESURFACEEX 0x00000002
-#define DDHAL_MISC2CB32_GETDRIVERSTATE 0x00000004
-#define DDHAL_MISC2CB32_DESTROYDDLOCAL 0x00000008
-
-typedef struct _DD_FREEDRIVERMEMORYDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- HRESULT ddRVal;
- PVOID FreeDriverMemory;
-} DD_FREEDRIVERMEMORYDATA, *PDD_FREEDRIVERMEMORYDATA;
-typedef DWORD (WINAPI *PDD_FREEDRIVERMEMORY)(PDD_FREEDRIVERMEMORYDATA);
-
-typedef struct _DD_SETEXCLUSIVEMODEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DWORD dwEnterExcl;
- DWORD dwReserved;
- HRESULT ddRVal;
- PVOID SetExclusiveMode;
-} DD_SETEXCLUSIVEMODEDATA, *PDD_SETEXCLUSIVEMODEDATA;
-typedef DWORD (WINAPI *PDD_SETEXCLUSIVEMODE)(PDD_SETEXCLUSIVEMODEDATA);
-
-typedef struct _DD_FLIPTOGDISURFACEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DWORD dwToGDI;
- DWORD dwReserved;
- HRESULT ddRVal;
- PVOID FlipToGDISurface;
-} DD_FLIPTOGDISURFACEDATA, *PDD_FLIPTOGDISURFACEDATA;
-typedef DWORD (WINAPI *PDD_FLIPTOGDISURFACE)(PDD_FLIPTOGDISURFACEDATA);
-
-typedef struct _DD_NTCALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_FREEDRIVERMEMORY FreeDriverMemory;
- PDD_SETEXCLUSIVEMODE SetExclusiveMode;
- PDD_FLIPTOGDISURFACE FlipToGDISurface;
-} DD_NTCALLBACKS, *PDD_NTCALLBACKS;
-
-#define DDHAL_NTCB32_FREEDRIVERMEMORY 0x00000001
-#define DDHAL_NTCB32_SETEXCLUSIVEMODE 0x00000002
-#define DDHAL_NTCB32_FLIPTOGDISURFACE 0x00000004
-
-/************************************************************************/
-/* IDirectDrawPalette callbacks */
-/************************************************************************/
-
-typedef struct _DD_DESTROYPALETTEDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_PALETTE_GLOBAL lpDDPalette;
- HRESULT ddRVal;
- PVOID DestroyPalette;
-} DD_DESTROYPALETTEDATA, *PDD_DESTROYPALETTEDATA;
-typedef DWORD (WINAPI *PDD_PALCB_DESTROYPALETTE)(PDD_DESTROYPALETTEDATA);
-
-typedef struct _DD_SETENTRIESDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_PALETTE_GLOBAL lpDDPalette;
- DWORD dwBase;
- DWORD dwNumEntries;
- LPPALETTEENTRY lpEntries;
- HRESULT ddRVal;
- PVOID SetEntries;
-} DD_SETENTRIESDATA, *PDD_SETENTRIESDATA;
-typedef DWORD (WINAPI *PDD_PALCB_SETENTRIES)(PDD_SETENTRIESDATA);
-
-typedef struct DD_PALETTECALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_PALCB_DESTROYPALETTE DestroyPalette;
- PDD_PALCB_SETENTRIES SetEntries;
-} DD_PALETTECALLBACKS, *PDD_PALETTECALLBACKS;
-
-#define DDHAL_PALCB32_DESTROYPALETTE 0x00000001l
-#define DDHAL_PALCB32_SETENTRIES 0x00000002l
-
-/************************************************************************/
-/* IDirectDrawVideoport callbacks */
-/************************************************************************/
-
-typedef struct _DD_CANCREATEVPORTDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- LPDDVIDEOPORTDESC lpDDVideoPortDesc;
- HRESULT ddRVal;
- PVOID CanCreateVideoPort;
-} DD_CANCREATEVPORTDATA, *PDD_CANCREATEVPORTDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_CANCREATEVIDEOPORT)(PDD_CANCREATEVPORTDATA);
-
-typedef struct _DD_CREATEVPORTDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- LPDDVIDEOPORTDESC lpDDVideoPortDesc;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- HRESULT ddRVal;
- PVOID CreateVideoPort;
-} DD_CREATEVPORTDATA, *PDD_CREATEVPORTDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_CREATEVIDEOPORT)(PDD_CREATEVPORTDATA);
-
-typedef struct _DD_FLIPVPORTDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- PDD_SURFACE_LOCAL lpSurfCurr;
- PDD_SURFACE_LOCAL lpSurfTarg;
- HRESULT ddRVal;
- PVOID FlipVideoPort;
-} DD_FLIPVPORTDATA, *PDD_FLIPVPORTDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_FLIP)(PDD_FLIPVPORTDATA);
-
-typedef struct _DD_GETVPORTBANDWIDTHDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- LPDDPIXELFORMAT lpddpfFormat;
- DWORD dwWidth;
- DWORD dwHeight;
- DWORD dwFlags;
- LPDDVIDEOPORTBANDWIDTH lpBandwidth;
- HRESULT ddRVal;
- PVOID GetVideoPortBandwidth;
-} DD_GETVPORTBANDWIDTHDATA, *PDD_GETVPORTBANDWIDTHDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_GETBANDWIDTH)(PDD_GETVPORTBANDWIDTHDATA);
-
-typedef struct _DD_GETVPORTINPUTFORMATDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- DWORD dwFlags;
- LPDDPIXELFORMAT lpddpfFormat;
- DWORD dwNumFormats;
- HRESULT ddRVal;
- PVOID GetVideoPortInputFormats;
-} DD_GETVPORTINPUTFORMATDATA, *PDD_GETVPORTINPUTFORMATDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_GETINPUTFORMATS)(PDD_GETVPORTINPUTFORMATDATA);
-
-typedef struct _DD_GETVPORTOUTPUTFORMATDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- DWORD dwFlags;
- LPDDPIXELFORMAT lpddpfInputFormat;
- LPDDPIXELFORMAT lpddpfOutputFormats;
- DWORD dwNumFormats;
- HRESULT ddRVal;
- PVOID GetVideoPortInputFormats;
-} DD_GETVPORTOUTPUTFORMATDATA, *PDD_GETVPORTOUTPUTFORMATDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_GETOUTPUTFORMATS)(PDD_GETVPORTOUTPUTFORMATDATA);
-
-typedef struct _DD_GETVPORTFIELDDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- BOOL bField;
- HRESULT ddRVal;
- PVOID GetVideoPortField;
-} DD_GETVPORTFIELDDATA, *PDD_GETVPORTFIELDDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_GETFIELD)(PDD_GETVPORTFIELDDATA);
-
-typedef struct _DD_GETVPORTLINEDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- DWORD dwLine;
- HRESULT ddRVal;
- PVOID GetVideoPortLine;
-} DD_GETVPORTLINEDATA, *PDD_GETVPORTLINEDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_GETLINE)(PDD_GETVPORTLINEDATA);
-
-typedef struct _DD_GETVPORTCONNECTDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- DWORD dwPortId;
- LPDDVIDEOPORTCONNECT lpConnect;
- DWORD dwNumEntries;
- HRESULT ddRVal;
- PVOID GetVideoPortConnectInfo;
-} DD_GETVPORTCONNECTDATA, *PDD_GETVPORTCONNECTDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_GETVPORTCONNECT)(PDD_GETVPORTCONNECTDATA);
-
-typedef struct _DD_DESTROYVPORTDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- HRESULT ddRVal;
- PVOID DestroyVideoPort;
-} DD_DESTROYVPORTDATA, *PDD_DESTROYVPORTDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_DESTROYVPORT)(PDD_DESTROYVPORTDATA);
-
-typedef struct _DD_GETVPORTFLIPSTATUSDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- FLATPTR fpSurface;
- HRESULT ddRVal;
- PVOID GetVideoPortFlipStatus;
-} DD_GETVPORTFLIPSTATUSDATA, *PDD_GETVPORTFLIPSTATUSDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_GETFLIPSTATUS)(PDD_GETVPORTFLIPSTATUSDATA);
-
-typedef struct _DD_UPDATEVPORTDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- PDD_SURFACE_INT *lplpDDSurface;
- PDD_SURFACE_INT *lplpDDVBISurface;
- LPDDVIDEOPORTINFO lpVideoInfo;
- DWORD dwFlags;
- DWORD dwNumAutoflip;
- DWORD dwNumVBIAutoflip;
- HRESULT ddRVal;
- PVOID UpdateVideoPort;
-} DD_UPDATEVPORTDATA, *PDD_UPDATEVPORTDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_UPDATE)(PDD_UPDATEVPORTDATA);
-
-typedef struct _DD_WAITFORVPORTSYNCDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- DWORD dwFlags;
- DWORD dwLine;
- DWORD dwTimeOut;
- HRESULT ddRVal;
- PVOID UpdateVideoPort;
-} DD_WAITFORVPORTSYNCDATA, *PDD_WAITFORVPORTSYNCDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_WAITFORSYNC)(PDD_WAITFORVPORTSYNCDATA);
-
-typedef struct _DD_GETVPORTSIGNALDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- DWORD dwStatus;
- HRESULT ddRVal;
- PVOID GetVideoSignalStatus;
-} DD_GETVPORTSIGNALDATA, *PDD_GETVPORTSIGNALDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_GETSIGNALSTATUS)(PDD_GETVPORTSIGNALDATA);
-
-typedef struct _DD_VPORTCOLORDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- DWORD dwFlags;
- LPDDCOLORCONTROL lpColorData;
- HRESULT ddRVal;
- PVOID ColorControl;
-} DD_VPORTCOLORDATA, *PDD_VPORTCOLORDATA;
-typedef DWORD (WINAPI *PDD_VPORTCB_COLORCONTROL)(PDD_VPORTCOLORDATA);
-
-typedef struct DD_VIDEOPORTCALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_VPORTCB_CANCREATEVIDEOPORT CanCreateVideoPort;
- PDD_VPORTCB_CREATEVIDEOPORT CreateVideoPort;
- PDD_VPORTCB_FLIP FlipVideoPort;
- PDD_VPORTCB_GETBANDWIDTH GetVideoPortBandwidth;
- PDD_VPORTCB_GETINPUTFORMATS GetVideoPortInputFormats;
- PDD_VPORTCB_GETOUTPUTFORMATS GetVideoPortOutputFormats;
- PVOID lpReserved1;
- PDD_VPORTCB_GETFIELD GetVideoPortField;
- PDD_VPORTCB_GETLINE GetVideoPortLine;
- PDD_VPORTCB_GETVPORTCONNECT GetVideoPortConnectInfo;
- PDD_VPORTCB_DESTROYVPORT DestroyVideoPort;
- PDD_VPORTCB_GETFLIPSTATUS GetVideoPortFlipStatus;
- PDD_VPORTCB_UPDATE UpdateVideoPort;
- PDD_VPORTCB_WAITFORSYNC WaitForVideoPortSync;
- PDD_VPORTCB_GETSIGNALSTATUS GetVideoSignalStatus;
- PDD_VPORTCB_COLORCONTROL ColorControl;
-} DD_VIDEOPORTCALLBACKS, *PDD_VIDEOPORTCALLBACKS;
-
-#define DDHAL_VPORT32_CANCREATEVIDEOPORT 0x00000001
-#define DDHAL_VPORT32_CREATEVIDEOPORT 0x00000002
-#define DDHAL_VPORT32_FLIP 0x00000004
-#define DDHAL_VPORT32_GETBANDWIDTH 0x00000008
-#define DDHAL_VPORT32_GETINPUTFORMATS 0x00000010
-#define DDHAL_VPORT32_GETOUTPUTFORMATS 0x00000020
-#define DDHAL_VPORT32_GETFIELD 0x00000080
-#define DDHAL_VPORT32_GETLINE 0x00000100
-#define DDHAL_VPORT32_GETCONNECT 0x00000200
-#define DDHAL_VPORT32_DESTROY 0x00000400
-#define DDHAL_VPORT32_GETFLIPSTATUS 0x00000800
-#define DDHAL_VPORT32_UPDATE 0x00001000
-#define DDHAL_VPORT32_WAITFORSYNC 0x00002000
-#define DDHAL_VPORT32_GETSIGNALSTATUS 0x00004000
-#define DDHAL_VPORT32_COLORCONTROL 0x00008000
-
-
-/************************************************************************/
-/* IDirectDrawColorControl callbacks */
-/************************************************************************/
-
-#define DDRAWI_GETCOLOR 0x0001
-#define DDRAWI_SETCOLOR 0x0002
-
-typedef struct _DD_COLORCONTROLDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- LPDDCOLORCONTROL lpColorData;
- DWORD dwFlags;
- HRESULT ddRVal;
- PVOID ColorControl;
-} DD_COLORCONTROLDATA, *PDD_COLORCONTROLDATA;
-typedef DWORD (WINAPI *PDD_COLORCB_COLORCONTROL)(PDD_COLORCONTROLDATA);
-
-typedef struct _DD_COLORCONTROLCALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_COLORCB_COLORCONTROL ColorControl;
-} DD_COLORCONTROLCALLBACKS, *PDD_COLORCONTROLCALLBACKS;
-
-#define DDHAL_COLOR_COLORCONTROL 0x00000001
-
-/************************************************************************/
-/* IDirectDrawVideo callbacks */
-/************************************************************************/
-
-typedef struct _DD_GETMOCOMPGUIDSDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- DWORD dwNumGuids;
- GUID *lpGuids;
- HRESULT ddRVal;
-} DD_GETMOCOMPGUIDSDATA, *PDD_GETMOCOMPGUIDSDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_GETGUIDS)(PDD_GETMOCOMPGUIDSDATA);
-
-typedef struct _DD_GETMOCOMPFORMATSDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- GUID *lpGuid;
- DWORD dwNumFormats;
- LPDDPIXELFORMAT lpFormats;
- HRESULT ddRVal;
-} DD_GETMOCOMPFORMATSDATA, *PDD_GETMOCOMPFORMATSDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_GETFORMATS)(PDD_GETMOCOMPFORMATSDATA);
-
-typedef struct _DD_CREATEMOCOMPDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_MOTIONCOMP_LOCAL lpMoComp;
- GUID *lpGuid;
- DWORD dwUncompWidth;
- DWORD dwUncompHeight;
- DDPIXELFORMAT ddUncompPixelFormat;
- LPVOID lpData;
- DWORD dwDataSize;
- HRESULT ddRVal;
-} DD_CREATEMOCOMPDATA, *PDD_CREATEMOCOMPDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_CREATE)(PDD_CREATEMOCOMPDATA);
-
-typedef struct _DDCOMPBUFFERINFO {
- DWORD dwSize;
- DWORD dwNumCompBuffers;
- DWORD dwWidthToCreate;
- DWORD dwHeightToCreate;
- DWORD dwBytesToAllocate;
- DDSCAPS2 ddCompCaps;
- DDPIXELFORMAT ddPixelFormat;
-} DDCOMPBUFFERINFO, *LPDDCOMPBUFFERINFO;
-
-typedef struct _DD_GETMOCOMPCOMPBUFFDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- GUID *lpGuid;
- DWORD dwWidth;
- DWORD dwHeight;
- DDPIXELFORMAT ddPixelFormat;
- DWORD dwNumTypesCompBuffs;
- LPDDCOMPBUFFERINFO lpCompBuffInfo;
- HRESULT ddRVal;
-} DD_GETMOCOMPCOMPBUFFDATA, *PDD_GETMOCOMPCOMPBUFFDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_GETCOMPBUFFINFO)(PDD_GETMOCOMPCOMPBUFFDATA);
-
-typedef struct _DD_GETINTERNALMOCOMPDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- GUID *lpGuid;
- DWORD dwWidth;
- DWORD dwHeight;
- DDPIXELFORMAT ddPixelFormat;
- DWORD dwScratchMemAlloc;
- HRESULT ddRVal;
-} DD_GETINTERNALMOCOMPDATA, *PDD_GETINTERNALMOCOMPDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_GETINTERNALINFO)(PDD_GETINTERNALMOCOMPDATA);
-
-typedef struct _DD_BEGINMOCOMPFRAMEDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_MOTIONCOMP_LOCAL lpMoComp;
- PDD_SURFACE_LOCAL lpDestSurface;
- DWORD dwInputDataSize;
- LPVOID lpInputData;
- DWORD dwOutputDataSize;
- LPVOID lpOutputData;
- HRESULT ddRVal;
-} DD_BEGINMOCOMPFRAMEDATA, *PDD_BEGINMOCOMPFRAMEDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_BEGINFRAME)(PDD_BEGINMOCOMPFRAMEDATA);
-
-typedef struct _DD_ENDMOCOMPFRAMEDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_MOTIONCOMP_LOCAL lpMoComp;
- LPVOID lpInputData;
- DWORD dwInputDataSize;
- HRESULT ddRVal;
-} DD_ENDMOCOMPFRAMEDATA, *PDD_ENDMOCOMPFRAMEDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_ENDFRAME)(PDD_ENDMOCOMPFRAMEDATA);
-
-typedef struct _DDMOCOMPBUFFERINFO {
- DWORD dwSize;
- PDD_SURFACE_LOCAL lpCompSurface;
- DWORD dwDataOffset;
- DWORD dwDataSize;
- LPVOID lpPrivate;
-} DDMOCOMPBUFFERINFO, *LPDDMOCOMPBUFFERINFO;
-
-typedef struct _DD_RENDERMOCOMPDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_MOTIONCOMP_LOCAL lpMoComp;
- DWORD dwNumBuffers;
- LPDDMOCOMPBUFFERINFO lpBufferInfo;
- DWORD dwFunction;
- LPVOID lpInputData;
- DWORD dwInputDataSize;
- LPVOID lpOutputData;
- DWORD dwOutputDataSize;
- HRESULT ddRVal;
-} DD_RENDERMOCOMPDATA, *PDD_RENDERMOCOMPDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_RENDER)(PDD_RENDERMOCOMPDATA);
-
-#define DDMCQUERY_READ 0x00000001
-
-typedef struct _DD_QUERYMOCOMPSTATUSDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_MOTIONCOMP_LOCAL lpMoComp;
- PDD_SURFACE_LOCAL lpSurface;
- DWORD dwFlags;
- HRESULT ddRVal;
-} DD_QUERYMOCOMPSTATUSDATA, *PDD_QUERYMOCOMPSTATUSDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_QUERYSTATUS)(PDD_QUERYMOCOMPSTATUSDATA);
-
-typedef struct _DD_DESTROYMOCOMPDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_MOTIONCOMP_LOCAL lpMoComp;
- HRESULT ddRVal;
-} DD_DESTROYMOCOMPDATA, *PDD_DESTROYMOCOMPDATA;
-typedef DWORD (WINAPI *PDD_MOCOMPCB_DESTROY)(PDD_DESTROYMOCOMPDATA);
-
-typedef struct DD_MOTIONCOMPCALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_MOCOMPCB_GETGUIDS GetMoCompGuids;
- PDD_MOCOMPCB_GETFORMATS GetMoCompFormats;
- PDD_MOCOMPCB_CREATE CreateMoComp;
- PDD_MOCOMPCB_GETCOMPBUFFINFO GetMoCompBuffInfo;
- PDD_MOCOMPCB_GETINTERNALINFO GetInternalMoCompInfo;
- PDD_MOCOMPCB_BEGINFRAME BeginMoCompFrame;
- PDD_MOCOMPCB_ENDFRAME EndMoCompFrame;
- PDD_MOCOMPCB_RENDER RenderMoComp;
- PDD_MOCOMPCB_QUERYSTATUS QueryMoCompStatus;
- PDD_MOCOMPCB_DESTROY DestroyMoComp;
-} DD_MOTIONCOMPCALLBACKS, *PDD_MOTIONCOMPCALLBACKS;
-
-#define DDHAL_MOCOMP32_GETGUIDS 0x00000001
-#define DDHAL_MOCOMP32_GETFORMATS 0x00000002
-#define DDHAL_MOCOMP32_CREATE 0x00000004
-#define DDHAL_MOCOMP32_GETCOMPBUFFINFO 0x00000008
-#define DDHAL_MOCOMP32_GETINTERNALINFO 0x00000010
-#define DDHAL_MOCOMP32_BEGINFRAME 0x00000020
-#define DDHAL_MOCOMP32_ENDFRAME 0x00000040
-#define DDHAL_MOCOMP32_RENDER 0x00000080
-#define DDHAL_MOCOMP32_QUERYSTATUS 0x00000100
-#define DDHAL_MOCOMP32_DESTROY 0x00000200
-
-/************************************************************************/
-/* D3D buffer callbacks */
-/************************************************************************/
-
-typedef struct _DD_D3DBUFCALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_CANCREATESURFACE CanCreateD3DBuffer;
- PDD_CREATESURFACE CreateD3DBuffer;
- PDD_SURFCB_DESTROYSURFACE DestroyD3DBuffer;
- PDD_SURFCB_LOCK LockD3DBuffer;
- PDD_SURFCB_UNLOCK UnlockD3DBuffer;
-} DD_D3DBUFCALLBACKS, *PDD_D3DBUFCALLBACKS;
-
-/************************************************************************/
-/* DdGetDriverInfo callback */
-/************************************************************************/
-
-typedef struct _DD_GETDRIVERINFODATA {
-// Input:
- PVOID dhpdev;
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidInfo;
- DWORD dwExpectedSize;
- PVOID lpvData;
-// Output:
- DWORD dwActualSize;
- HRESULT ddRVal;
-} DD_GETDRIVERINFODATA, *PDD_GETDRIVERINFODATA;
-typedef DWORD (WINAPI *PDD_GETDRIVERINFO)(PDD_GETDRIVERINFODATA);
-
-/************************************************************************/
-/* Driver info structures */
-/************************************************************************/
-
-typedef struct _DDNTCORECAPS {
- DWORD dwSize;
- DWORD dwCaps;
- DWORD dwCaps2;
- DWORD dwCKeyCaps;
- DWORD dwFXCaps;
- DWORD dwFXAlphaCaps;
- DWORD dwPalCaps;
- DWORD dwSVCaps;
- DWORD dwAlphaBltConstBitDepths;
- DWORD dwAlphaBltPixelBitDepths;
- DWORD dwAlphaBltSurfaceBitDepths;
- DWORD dwAlphaOverlayConstBitDepths;
- DWORD dwAlphaOverlayPixelBitDepths;
- DWORD dwAlphaOverlaySurfaceBitDepths;
- DWORD dwZBufferBitDepths;
- DWORD dwVidMemTotal;
- DWORD dwVidMemFree;
- DWORD dwMaxVisibleOverlays;
- DWORD dwCurrVisibleOverlays;
- DWORD dwNumFourCCCodes;
- DWORD dwAlignBoundarySrc;
- DWORD dwAlignSizeSrc;
- DWORD dwAlignBoundaryDest;
- DWORD dwAlignSizeDest;
- DWORD dwAlignStrideAlign;
- DWORD dwRops[DD_ROP_SPACE];
- DDSCAPS ddsCaps;
- DWORD dwMinOverlayStretch;
- DWORD dwMaxOverlayStretch;
- DWORD dwMinLiveVideoStretch;
- DWORD dwMaxLiveVideoStretch;
- DWORD dwMinHwCodecStretch;
- DWORD dwMaxHwCodecStretch;
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwSVBCaps;
- DWORD dwSVBCKeyCaps;
- DWORD dwSVBFXCaps;
- DWORD dwSVBRops[DD_ROP_SPACE];
- DWORD dwVSBCaps;
- DWORD dwVSBCKeyCaps;
- DWORD dwVSBFXCaps;
- DWORD dwVSBRops[DD_ROP_SPACE];
- DWORD dwSSBCaps;
- DWORD dwSSBCKeyCaps;
- DWORD dwSSBFXCaps;
- DWORD dwSSBRops[DD_ROP_SPACE];
- DWORD dwMaxVideoPorts;
- DWORD dwCurrVideoPorts;
- DWORD dwSVBCaps2;
-} DDNTCORECAPS, *PDDNTCORECAPS;
-
-typedef struct _DD_HALINFO_V4 {
- DWORD dwSize;
- VIDEOMEMORYINFO vmiData;
- DDNTCORECAPS ddCaps;
- PDD_GETDRIVERINFO GetDriverInfo;
- DWORD dwFlags;
-} DD_HALINFO_V4, *PDD_HALINFO_V4;
-
-typedef struct _DD_HALINFO {
- DWORD dwSize;
- VIDEOMEMORYINFO vmiData;
- DDNTCORECAPS ddCaps;
- PDD_GETDRIVERINFO GetDriverInfo;
- DWORD dwFlags;
- PVOID lpD3DGlobalDriverData;
- PVOID lpD3DHALCallbacks;
- PDD_D3DBUFCALLBACKS lpD3DBufCallbacks;
-} DD_HALINFO, *PDD_HALINFO;
-
-typedef struct _DD_NONLOCALVIDMEMCAPS {
- DWORD dwSize;
- DWORD dwNLVBCaps;
- DWORD dwNLVBCaps2;
- DWORD dwNLVBCKeyCaps;
- DWORD dwNLVBFXCaps;
- DWORD dwNLVBRops[DD_ROP_SPACE];
-} DD_NONLOCALVIDMEMCAPS, *PDD_NONLOCALVIDMEMCAPS;
-
-typedef struct _DD_MORESURFACECAPS {
- DWORD dwSize;
- DDSCAPSEX ddsCapsMore;
- struct tagNTExtendedHeapRestrictions {
- DDSCAPSEX ddsCapsEx;
- DDSCAPSEX ddsCapsExAlt;
- } ddsExtendedHeapRestrictions[1];
-} DD_MORESURFACECAPS, *PDD_MORESURFACECAPS;
-
-
-/*********************************************************/
-/* Kernel Callbacks */
-/*********************************************************/
-typedef struct _DD_SYNCSURFACEDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_SURFACE_LOCAL lpDDSurface;
- DWORD dwSurfaceOffset;
- ULONG_PTR fpLockPtr;
- LONG lPitch;
- DWORD dwOverlayOffset;
- ULONG dwDriverReserved1;
- ULONG dwDriverReserved2;
- ULONG dwDriverReserved3;
- ULONG dwDriverReserved4;
- HRESULT ddRVal;
-} DD_SYNCSURFACEDATA, *PDD_SYNCSURFACEDATA;
-typedef DWORD (WINAPI *PDD_KERNELCB_SYNCSURFACE)(PDD_SYNCSURFACEDATA);
-
-typedef struct _DD_SYNCVIDEOPORTDATA {
- PDD_DIRECTDRAW_LOCAL lpDD;
- PDD_VIDEOPORT_LOCAL lpVideoPort;
- DWORD dwOriginOffset;
- DWORD dwHeight;
- DWORD dwVBIHeight;
- ULONG dwDriverReserved1;
- ULONG dwDriverReserved2;
- ULONG dwDriverReserved3;
- HRESULT ddRVal;
-} DD_SYNCVIDEOPORTDATA, *PDD_SYNCVIDEOPORTDATA;
-typedef DWORD (WINAPI *PDD_KERNELCB_SYNCVIDEOPORT)(PDD_SYNCVIDEOPORTDATA);
-
-typedef struct DD_NTPRIVATEDRIVERCAPS {
- DWORD dwSize;
- DWORD dwPrivateCaps;
-} DD_NTPRIVATEDRIVERCAPS;
-
-typedef struct _DD_UPDATENONLOCALHEAPDATA {
- PDD_DIRECTDRAW_GLOBAL lpDD;
- DWORD dwHeap;
- FLATPTR fpGARTLin;
- FLATPTR fpGARTDev;
- ULONG_PTR ulPolicyMaxBytes;
- HRESULT ddRVal;
- VOID* UpdateNonLocalHeap;
-} DD_UPDATENONLOCALHEAPDATA, *PDD_UPDATENONLOCALHEAPDATA;
-
-typedef struct _DD_STEREOMODE {
- DWORD dwSize;
- DWORD dwHeight;
- DWORD dwWidth;
- DWORD dwBpp;
- DWORD dwRefreshRate;
- BOOL bSupported;
-} DD_STEREOMODE, *PDD_STEREOMODE;
-
-typedef struct _DD_MORECAPS {
- DWORD dwSize;
- DWORD dwAlphaCaps;
- DWORD dwSVBAlphaCaps;
- DWORD dwVSBAlphaCaps;
- DWORD dwSSBAlphaCaps;
- DWORD dwFilterCaps;
- DWORD dwSVBFilterCaps;
- DWORD dwVSBFilterCaps;
- DWORD dwSSBFilterCaps;
-} DD_MORECAPS, *PDD_MORECAPS;
-
-typedef struct _DD_CLIPPER_GLOBAL {
- ULONG_PTR dwReserved1;
-} DD_CLIPPER_GLOBAL;
-
-typedef struct _DD_CLIPPER_LOCAL {
- ULONG_PTR dwReserved1;
-} DD_CLIPPER_LOCAL;
-
-typedef struct _DD_PALETTE_LOCAL {
- ULONG dwReserved0;
- ULONG_PTR dwReserved1;
-} DD_PALETTE_LOCAL;
-
-typedef struct DD_KERNELCALLBACKS {
- DWORD dwSize;
- DWORD dwFlags;
- PDD_KERNELCB_SYNCSURFACE SyncSurfaceData;
- PDD_KERNELCB_SYNCVIDEOPORT SyncVideoPortData;
-} DD_KERNELCALLBACKS, *PDD_KERNELCALLBACKS;
-
-#define MAX_AUTOFLIP_BUFFERS 10
-#define DDSCAPS_EXECUTEBUFFER DDSCAPS_RESERVED2
-#define DDSCAPS_COMMANDBUFFER DDSCAPS_RESERVED3
-#define DDSCAPS_VERTEXBUFFER DDSCAPS_RESERVED4
-#define DDPF_D3DFORMAT 0x00200000l
-#define D3DFORMAT_OP_TEXTURE 0x00000001L
-#define D3DFORMAT_OP_VOLUMETEXTURE 0x00000002L
-#define D3DFORMAT_OP_CUBETEXTURE 0x00000004L
-#define D3DFORMAT_OP_OFFSCREEN_RENDERTARGET 0x00000008L
-#define D3DFORMAT_OP_SAME_FORMAT_RENDERTARGET 0x00000010L
-#define D3DFORMAT_OP_ZSTENCIL 0x00000040L
-#define D3DFORMAT_OP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH 0x00000080L
-#define D3DFORMAT_OP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET 0x00000100L
-#define D3DFORMAT_OP_DISPLAYMODE 0x00000400L
-#define D3DFORMAT_OP_3DACCELERATION 0x00000800L
-#define D3DFORMAT_OP_PIXELSIZE 0x00001000L
-#define D3DFORMAT_OP_CONVERT_TO_ARGB 0x00002000L
-#define D3DFORMAT_OP_OFFSCREENPLAIN 0x00004000L
-#define D3DFORMAT_OP_SRGBREAD 0x00008000L
-#define D3DFORMAT_OP_BUMPMAP 0x00010000L
-#define D3DFORMAT_OP_DMAP 0x00020000L
-#define D3DFORMAT_OP_NOFILTER 0x00040000L
-#define D3DFORMAT_MEMBEROFGROUP_ARGB 0x00080000L
-#define D3DFORMAT_OP_SRGBWRITE 0x00100000L
-#define D3DFORMAT_OP_NOALPHABLEND 0x00200000L
-#define D3DFORMAT_OP_AUTOGENMIPMAP 0x00400000L
-#define D3DFORMAT_OP_VERTEXTEXTURE 0x00800000L
-#define D3DFORMAT_OP_NOTEXCOORDWRAPNORMIP 0x01000000L
-#define DDHAL_PLEASEALLOC_BLOCKSIZE 0x00000002l
-#define DDHAL_PLEASEALLOC_USERMEM 0x00000004l
-
-#define VIDMEM_ISLINEAR 0x00000001l
-#define VIDMEM_ISRECTANGULAR 0x00000002l
-#define VIDMEM_ISHEAP 0x00000004l
-#define VIDMEM_ISNONLOCAL 0x00000008l
-#define VIDMEM_ISWC 0x00000010l
-#define VIDMEM_HEAPDISABLED 0x00000020l
-
-#define DDHAL_CREATESURFACEEX_SWAPHANDLES 0x00000001l
-
-#define DDHAL_KERNEL_SYNCSURFACEDATA 0x00000001l
-#define DDHAL_KERNEL_SYNCVIDEOPORTDATA 0x00000002l
-
-#define DDHAL_DRIVER_NOTHANDLED 0x00000000l
-#define DDHAL_DRIVER_HANDLED 0x00000001l
-#define DDHAL_DRIVER_NOCKEYHW 0x00000002l
-
-#define DDRAWISURF_HASCKEYSRCBLT 0x00000800L
-#define DDRAWISURF_HASPIXELFORMAT 0x00002000L
-#define DDRAWISURF_HASOVERLAYDATA 0x00004000L
-#define DDRAWISURF_FRONTBUFFER 0x04000000L
-#define DDRAWISURF_BACKBUFFER 0x08000000L
-#define DDRAWISURF_INVALID 0x10000000L
-#define DDRAWISURF_DRIVERMANAGED 0x40000000L
-
-#define ROP_HAS_SOURCE 0x00000001l
-#define ROP_HAS_PATTERN 0x00000002l
-#define ROP_HAS_SOURCEPATTERN ROP_HAS_SOURCE | ROP_HAS_PATTERN
-
-#define DDHAL_EXEBUFCB32_CANCREATEEXEBUF 0x00000001l
-#define DDHAL_EXEBUFCB32_CREATEEXEBUF 0x00000002l
-#define DDHAL_EXEBUFCB32_DESTROYEXEBUF 0x00000004l
-#define DDHAL_EXEBUFCB32_LOCKEXEBUF 0x00000008l
-#define DDHAL_EXEBUFCB32_UNLOCKEXEBUF 0x00000010l
-
-#define DDHAL_D3DBUFCB32_CANCREATED3DBUF DDHAL_EXEBUFCB32_CANCREATEEXEBUF
-#define DDHAL_D3DBUFCB32_CREATED3DBUF DDHAL_EXEBUFCB32_CREATEEXEBUF
-#define DDHAL_D3DBUFCB32_DESTROYD3DBUF DDHAL_EXEBUFCB32_DESTROYEXEBUF
-#define DDHAL_D3DBUFCB32_LOCKD3DBUF DDHAL_EXEBUFCB32_LOCKEXEBUF
-#define DDHAL_D3DBUFCB32_UNLOCKD3DBUF DDHAL_EXEBUFCB32_UNLOCKEXEBUF
-
-#define DDHALINFO_ISPRIMARYDISPLAY 0x00000001
-#define DDHALINFO_MODEXILLEGAL 0x00000002
-#define DDHALINFO_GETDRIVERINFOSET 0x00000004
-#define DDHALINFO_GETDRIVERINFO2 0x00000008
-
-#define DDRAWIVPORT_ON 0x00000001
-#define DDRAWIVPORT_SOFTWARE_AUTOFLIP 0x00000002
-#define DDRAWIVPORT_COLORKEYANDINTERP 0x00000004
-
-#define DDHAL_PRIVATECAP_ATOMICSURFACECREATION 0x00000001l
-#define DDHAL_PRIVATECAP_NOTIFYPRIMARYCREATION 0x00000002l
-#define DDHAL_PRIVATECAP_RESERVED1 0x00000004l
-
-#define DDRAWI_VPORTSTART 0x0001
-#define DDRAWI_VPORTSTOP 0x0002
-#define DDRAWI_VPORTUPDATE 0x0003
-#define DDRAWI_VPORTGETCOLOR 0x0001
-#define DDRAWI_VPORTSETCOLOR 0x0002
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* GUID_DEFS_ONLY */
-
-#endif /* __DD_INCLUDED__ */