13#define DCICOMMAND 3075
14#define DCI_VERSION 0x0100
16#define DCICREATEPRIMARYSURFACE 1
17#define DCICREATEOFFSCREENSURFACE 2
18#define DCICREATEOVERLAYSURFACE 3
19#define DCIENUMSURFACE 4
23#define DCI_FAIL_GENERIC -1
24#define DCI_FAIL_UNSUPPORTEDVERSION -2
25#define DCI_FAIL_INVALIDSURFACE -3
26#define DCI_FAIL_UNSUPPORTED -4
28#define DCI_ERR_CURRENTLYNOTAVAIL -5
29#define DCI_ERR_INVALIDRECT -6
30#define DCI_ERR_UNSUPPORTEDFORMAT -7
31#define DCI_ERR_UNSUPPORTEDMASK -8
32#define DCI_ERR_TOOBIGHEIGHT -9
33#define DCI_ERR_TOOBIGWIDTH -10
34#define DCI_ERR_TOOBIGSIZE -11
35#define DCI_ERR_OUTOFMEMORY -12
36#define DCI_ERR_INVALIDPOSITION -13
37#define DCI_ERR_INVALIDSTRETCH -14
38#define DCI_ERR_INVALIDCLIPLIST -15
39#define DCI_ERR_SURFACEISOBSCURED -16
40#define DCI_ERR_XALIGN -17
41#define DCI_ERR_YALIGN -18
42#define DCI_ERR_XYALIGN -19
43#define DCI_ERR_WIDTHALIGN -20
44#define DCI_ERR_HEIGHTALIGN -21
46#define DCI_STATUS_POINTERCHANGED 1
47#define DCI_STATUS_STRIDECHANGED 2
48#define DCI_STATUS_FORMATCHANGED 4
49#define DCI_STATUS_SURFACEINFOCHANGED 8
50#define DCI_STATUS_CHROMAKEYCHANGED 16
51#define DCI_STATUS_WASSTILLDRAWING 32
53#define DCI_SUCCESS(error) (((DCIRVAL)error) >= 0)
55#define DCI_SURFACE_TYPE 0x0000000F
56#define DCI_PRIMARY 0x00000000
57#define DCI_OFFSCREEN 0x00000001
58#define DCI_OVERLAY 0x00000002
59#define DCI_VISIBLE 0x00000010
60#define DCI_CHROMAKEY 0x00000020
61#define DCI_1632_ACCESS 0x00000040
62#define DCI_DWORDSIZE 0x00000080
63#define DCI_DWORDALIGN 0x00000100
64#define DCI_WRITEONLY 0x00000200
65#define DCI_ASYNC 0x00000400
67#define DCI_CAN_STRETCHX 0x00001000
68#define DCI_CAN_STRETCHY 0x00002000
69#define DCI_CAN_STRETCHXY (DCI_CAN_STRETCHX | DCI_CAN_STRETCHY)
71#define DCI_CAN_STRETCHXN 0x00004000
72#define DCI_CAN_STRETCHYN 0x00008000
73#define DCI_CAN_STRETCHXYN (DCI_CAN_STRETCHXN | DCI_CAN_STRETCHYN)
75#define DCI_CANOVERLAY 0x00010000
144#define YVU9 mmioFOURCC('Y','V','U','9')
147#define Y411 mmioFOURCC('Y','4','1','1')
150#define YUY2 mmioFOURCC('Y','U','Y','2')
153#define YVYU mmioFOURCC('Y','V','Y','U')
156#define UYVY mmioFOURCC('U','Y','V','Y')
159#define Y211 mmioFOURCC('Y','2','1','1')
struct _DCIOVERLAY * LPDCIOVERLAY
struct _DCISURFACEINFO * LPDCISURFACEINFO
void(* ENUM_CALLBACK)(LPDCISURFACEINFO lpSurfaceInfo, LPVOID lpContext)
DCISURFACEINFO DCIPRIMARY
struct _DCIOFFSCREEN * LPDCIOFFSCREEN
DCISURFACEINFO * LPDCIPRIMARY
struct _DCIOFFSCREEN DCIOFFSCREEN
struct _DCIENUMINPUT * LPDCIENUMINPUT
struct _DCISURFACEINFO DCISURFACEINFO
struct _DCIENUMINPUT DCIENUMINPUT
struct _DCIOVERLAY DCIOVERLAY
struct _DCICREATEINPUT DCICREATEINPUT
struct _DCICREATEINPUT * LPDCICREATEINPUT
static HRESULT CALLBACK EnumCallback(IDirectDrawSurface7 *surface, DDSURFACEDESC2 *surface_desc, void *context)
DCIRVAL(CALLBACK *Draw)(LPVOID)
DCIRVAL(CALLBACK *SetDestination)(LPVOID
DCIRVAL(CALLBACK *SetClipList)(LPVOID
DCIRVAL(CALLBACK *BeginAccess)(LPVOID
void(CALLBACK *EndAccess)(LPVOID)
void(CALLBACK *DestroySurface)(LPVOID)