ReactOS 0.4.15-dev-8076-g06e89b2
ddkmapi.h
Go to the documentation of this file.
1/*
2 * ddkmapi.h
3 *
4 * DirectDraw support for DxApi function
5 *
6 * Contributors:
7 * Created by Magnus Olsen
8 *
9 * THIS SOFTWARE IS NOT COPYRIGHTED
10 *
11 * This source code is offered for use in the public domain. You may
12 * use, modify or distribute it freely.
13 *
14 * This code is distributed in the hope that it will be useful but
15 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
16 * DISCLAIMED. This includes but is not limited to warranties of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 *
19 */
20
21#ifndef __DDKMAPI_INCLUDED__
22#define __DDKMAPI_INCLUDED__
23
24#if defined(_DXAPI_)
25#define DXAPI
26#else
27#define DXAPI DECLSPEC_IMPORT
28#endif
29
30#define DXAPI_MAJORVERSION 1
31#define DXAPI_MINORVERSION 0
32
33#define DD_FIRST_DXAPI 0x500
34#define DD_DXAPI_GETVERSIONNUMBER (DD_FIRST_DXAPI)
35#define DD_DXAPI_CLOSEHANDLE (DD_FIRST_DXAPI+1)
36#define DD_DXAPI_OPENDIRECTDRAW (DD_FIRST_DXAPI+2)
37#define DD_DXAPI_OPENSURFACE (DD_FIRST_DXAPI+3)
38#define DD_DXAPI_OPENVIDEOPORT (DD_FIRST_DXAPI+4)
39#define DD_DXAPI_GETKERNELCAPS (DD_FIRST_DXAPI+5)
40#define DD_DXAPI_GET_VP_FIELD_NUMBER (DD_FIRST_DXAPI+6)
41#define DD_DXAPI_SET_VP_FIELD_NUMBER (DD_FIRST_DXAPI+7)
42#define DD_DXAPI_SET_VP_SKIP_FIELD (DD_FIRST_DXAPI+8)
43#define DD_DXAPI_GET_SURFACE_STATE (DD_FIRST_DXAPI+9)
44#define DD_DXAPI_SET_SURFACE_STATE (DD_FIRST_DXAPI+10)
45#define DD_DXAPI_LOCK (DD_FIRST_DXAPI+11)
46#define DD_DXAPI_FLIP_OVERLAY (DD_FIRST_DXAPI+12)
47#define DD_DXAPI_FLIP_VP (DD_FIRST_DXAPI+13)
48#define DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI+14)
49#define DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI+15)
50#define DD_DXAPI_REGISTER_CALLBACK (DD_FIRST_DXAPI+16)
51#define DD_DXAPI_UNREGISTER_CALLBACK (DD_FIRST_DXAPI+17)
52#define DD_DXAPI_GET_POLARITY (DD_FIRST_DXAPI+18)
53#define DD_DXAPI_OPENVPCAPTUREDEVICE (DD_FIRST_DXAPI+19)
54#define DD_DXAPI_ADDVPCAPTUREBUFFER (DD_FIRST_DXAPI+20)
55#define DD_DXAPI_FLUSHVPCAPTUREBUFFERS (DD_FIRST_DXAPI+21)
56
57/* DDOPENVPCAPTUREDEVICEIN.dwFlags constants */
58#define DDOPENCAPTURE_VIDEO 0x0001
59#define DDOPENCAPTURE_VBI 0x0002
60
61/* DDADDVPCAPTUREBUFF.dwFlags constants */
62#define DDADDBUFF_SYSTEMMEMORY 0x0001
63#define DDADDBUFF_NONLOCALVIDMEM 0x0002
64#define DDADDBUFF_INVERT 0x0004
65
66/* DDGETSURFACESTATEOUT.dwStateCaps/dwStateStatus constants */
67#define DDSTATE_BOB 0x0001
68#define DDSTATE_WEAVE 0x0002
69#define DDSTATE_EXPLICITLY_SET 0x0004
70#define DDSTATE_SOFTWARE_AUTOFLIP 0x0008
71#define DDSTATE_SKIPEVENFIELDS 0x0010
72
73/* DDREGISTERCALLBACK.dwEvents constants */
74#define DDEVENT_DISPLAY_VSYNC 0x0001
75#define DDEVENT_VP_VSYNC 0x0002
76#define DDEVENT_VP_LINE 0x0004
77#define DDEVENT_PRERESCHANGE 0x0008
78#define DDEVENT_POSTRESCHANGE 0x0010
79#define DDEVENT_PREDOSBOX 0x0020
80#define DDEVENT_POSTDOSBOX 0x0040
81
82/* LPDD_NOTIFYCALLBACK.dwFlags constants */
83#define DDNOTIFY_DISPLAY_VSYNC 0x0001
84#define DDNOTIFY_VP_VSYNC 0x0002
85#define DDNOTIFY_VP_LINE 0x0004
86#define DDNOTIFY_PRERESCHANGE 0x0008
87#define DDNOTIFY_POSTRESCHANGE 0x0010
88#define DDNOTIFY_PREDOSBOX 0x0020
89#define DDNOTIFY_POSTDOSBOX 0x0040
90#define DDNOTIFY_CLOSEDIRECTDRAW 0x0080
91#define DDNOTIFY_CLOSESURFACE 0x0100
92#define DDNOTIFY_CLOSEVIDEOPORT 0x0200
93#define DDNOTIFY_CLOSECAPTURE 0x0400
94
95typedef DWORD (PASCAL *LPDXAPI)(DWORD dwFunctionNum, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer);
96typedef ULONG (PASCAL *LPDD_NOTIFYCALLBACK) (DWORD dwFlags, PVOID pContext, DWORD dwParam1, DWORD dwParam2);
97
98typedef struct _DDCAPBUFFINFO {
104
105typedef struct _DDADDVPCAPTUREBUFF {
112
113typedef struct _DDCLOSEHANDLE {
116
117typedef struct _DDFLIPOVERLAY {
123
124typedef struct _DDFLIPVIDEOPORT {
131
132typedef struct _DDGETAUTOFLIPIN {
136
137typedef struct _DDGETAUTOFLIPOUT {
143
144typedef struct _DDGETPOLARITYIN {
148
149typedef struct _DDGETPOLARITYOUT {
153
154typedef struct _DDGETSURFACESTATEIN {
158
159typedef struct _DDGETSURFACESTATEOUT {
164
165typedef struct _DDGETFIELDNUMIN {
169
170typedef struct _DDGETFIELDNUMOUT {
174
175typedef struct _DDGETKERNELCAPSOUT {
180
181typedef struct _DDGETVERSIONNUMBER {
186
187typedef struct _DDLOCKIN {
191
192typedef struct _DDLOCKOUT {
202 __GNU_EXTENSION union {
205 };
206 __GNU_EXTENSION union {
209 };
210 __GNU_EXTENSION union {
213 };
215
216
217typedef struct _DDOPENDIRECTDRAWIN {
222
223typedef struct _DDOPENDIRECTDRAWOUT {
227
228typedef struct _DDOPENSURFACEIN {
234
235typedef struct _DDOPENSURFACEOUT {
239
240typedef struct _DDOPENVIDEOPORTIN {
246
247typedef struct _DDOPENVIDEOPORTOUT {
251
262
267
268typedef struct _DDREGISTERCALLBACK {
276
277typedef struct _DDSETSURFACETATE {
283
284typedef struct _DDSETFIELDNUM {
289
290typedef struct _DDSETSKIPFIELD {
295
296
297DXAPI
299DxApi(IN DWORD dwFunctionNum,
300 IN LPVOID lpvInBuffer,
301 IN DWORD cbInBuffer,
302 OUT LPVOID lpvOutBuffer,
303 OUT DWORD cbOutBuffer);
304
305
306#endif /* __DDKMAPI_INCLUDED__ */
307
#define __GNU_EXTENSION
Definition: _mingw_mac.h:135
struct _DDSETSKIPFIELD DDSETSKIPFIELD
struct _DDGETAUTOFLIPIN * LPDDGETAUTOFLIPIN
struct _DDLOCKIN * LPDDLOCKIN
DXAPI DWORD PASCAL DxApi(IN DWORD dwFunctionNum, IN LPVOID lpvInBuffer, IN DWORD cbInBuffer, OUT LPVOID lpvOutBuffer, OUT DWORD cbOutBuffer)
Definition: main.c:97
struct _DDOPENVIDEOPORTOUT * LPDDOPENVIDEOPORTOUT
struct _DDFLIPVIDEOPORT DDFLIPVIDEOPORT
struct _DDOPENVIDEOPORTIN * LPDDOPENVIDEOPORTIN
struct _DDSETSURFACETATE * LPDDSETSURFACESTATE
struct _DDGETSURFACESTATEOUT * LPDDGETSURFACESTATEOUT
struct _DDCAPBUFFINFO * LPDDCAPBUFFINFO
struct _DDGETFIELDNUMOUT DDGETFIELDNUMOUT
struct _DDCAPBUFFINFO DDCAPBUFFINFO
struct _DDREGISTERCALLBACK * LPDDREGISTERCALLBACK
struct _DDOPENSURFACEIN DDOPENSURFACEIN
struct _DDOPENVPCAPTUREDEVICEIN * LPDDOPENVPCAPTUREDEVICEIN
struct _DDGETAUTOFLIPIN DDGETAUTOFLIPIN
struct _DDSETSKIPFIELD * LPDDSETSKIPFIELD
struct _DDOPENDIRECTDRAWIN * LPDDOPENDIRECTDRAWIN
struct _DDGETSURFACESTATEIN * LPDDGETSURFACESTATEIN
struct _DDLOCKOUT DDLOCKOUT
struct _DDGETFIELDNUMOUT * LPDDGETFIELDNUMOUT
struct _DDGETAUTOFLIPOUT * LPDDGETAUTOFLIPOUT
struct _DDGETPOLARITYOUT * LPDDGETPOLARITYOUT
struct _DDGETKERNELCAPSOUT * LPDDGETKERNELCAPSOUT
struct _DDGETPOLARITYIN DDGETPOLARITYIN
struct _DDOPENSURFACEOUT DDOPENSURFACEOUT
ULONG(PASCAL * LPDD_NOTIFYCALLBACK)(DWORD dwFlags, PVOID pContext, DWORD dwParam1, DWORD dwParam2)
Definition: ddkmapi.h:96
struct _DDOPENVPCAPTUREDEVICEOUT DDOPENVPCAPTUREDEVICEOUT
struct _DDSETFIELDNUM DDSETFIELDNUM
struct _DDOPENVIDEOPORTOUT DDOPENVIDEOPORTOUT
struct _DDGETFIELDNUMIN DDGETFIELDNUMIN
struct _DDFLIPOVERLAY * LPDDFLIPOVERLAY
struct _DDOPENDIRECTDRAWOUT * LPDDOPENDIRECTDRAWOUT
struct _DDLOCKIN DDLOCKIN
struct _DDGETVERSIONNUMBER DDGETVERSIONNUMBER
#define DXAPI
Definition: ddkmapi.h:27
struct _DDGETAUTOFLIPOUT DDGETAUTOFLIPOUT
struct _DDGETSURFACESTATEOUT DDGETSURFACESTATEOUT
struct _DDGETPOLARITYIN * LPDDGETPOLARITYIN
struct _DDSETFIELDNUM * LPDDSETFIELDNUM
struct _DDFLIPOVERLAY DDFLIPOVERLAY
struct _DDADDVPCAPTUREBUFF DDADDVPCAPTUREBUFF
struct _DDREGISTERCALLBACK DDREGISTERCALLBACK
struct _DDFLIPVIDEOPORT * LPDDFLIPVIDEOPORT
struct _DDGETSURFACESTATEIN DDGETSURFACESTATEIN
struct _DDSETSURFACETATE DDSETSURFACESTATE
DWORD(PASCAL * LPDXAPI)(DWORD dwFunctionNum, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer)
Definition: ddkmapi.h:95
struct _DDOPENVIDEOPORTIN DDOPENVIDEOPORTIN
struct _DDOPENDIRECTDRAWOUT DDOPENDIRECTDRAWOUT
struct _DDOPENSURFACEIN * LPDDOPENSURFACEIN
struct _DDOPENVPCAPTUREDEVICEIN DDOPENVPCAPTUREDEVICEIN
struct _DDOPENSURFACEOUT * LPDDOPENSURFACEOUT
struct _DDGETFIELDNUMIN * LPDDGETFIELDNUMIN
struct _DDADDVPCAPTUREBUFF * LPDDADDVPCAPTUREBUFF
struct _DDCLOSEHANDLE DDCLOSEHANDLE
struct _DDLOCKOUT * LPDDLOCKOUT
struct _DDCLOSEHANDLE * LPDDCLOSEHANDLE
struct _DDGETVERSIONNUMBER * LPDDGETVERSIONNUMBER
struct _DDGETPOLARITYOUT DDGETPOLARITYOUT
struct _DDOPENDIRECTDRAWIN DDOPENDIRECTDRAWIN
struct _DDGETKERNELCAPSOUT DDGETKERNELCAPSOUT
struct _DDOPENVPCAPTUREDEVICEOUT * LPDDOPENVPCAPTUREDEVICEOUT
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define DWORD
Definition: nt_native.h:44
long LONG
Definition: pedump.c:60
LPDDCAPBUFFINFO lpBuffInfo
Definition: ddkmapi.h:110
DWORD ddRVal
Definition: ddkmapi.h:102
DWORD dwFieldNumber
Definition: ddkmapi.h:99
DWORD bPolarity
Definition: ddkmapi.h:100
LARGE_INTEGER liTimeStamp
Definition: ddkmapi.h:101
HANDLE hHandle
Definition: ddkmapi.h:114
DWORD dwFlags
Definition: ddkmapi.h:121
HANDLE hCurrentSurface
Definition: ddkmapi.h:119
HANDLE hDirectDraw
Definition: ddkmapi.h:118
HANDLE hTargetSurface
Definition: ddkmapi.h:120
HANDLE hTargetSurface
Definition: ddkmapi.h:128
HANDLE hVideoPort
Definition: ddkmapi.h:126
HANDLE hDirectDraw
Definition: ddkmapi.h:125
HANDLE hCurrentSurface
Definition: ddkmapi.h:127
HANDLE hDirectDraw
Definition: ddkmapi.h:133
HANDLE hVideoPort
Definition: ddkmapi.h:134
HANDLE hVBISurface
Definition: ddkmapi.h:140
HANDLE hVideoSurface
Definition: ddkmapi.h:139
HANDLE hVideoPort
Definition: ddkmapi.h:167
HANDLE hDirectDraw
Definition: ddkmapi.h:166
DWORD dwFieldNum
Definition: ddkmapi.h:172
HANDLE hVideoPort
Definition: ddkmapi.h:146
HANDLE hDirectDraw
Definition: ddkmapi.h:145
DWORD dwMajorVersion
Definition: ddkmapi.h:183
DWORD dwMinorVersion
Definition: ddkmapi.h:184
HANDLE hDirectDraw
Definition: ddkmapi.h:188
HANDLE hSurface
Definition: ddkmapi.h:189
LONG lSurfPitch
Definition: ddkmapi.h:196
DWORD dwGBitMask
Definition: ddkmapi.h:207
DWORD dwSurfWidth
Definition: ddkmapi.h:195
DWORD dwFormatBitCount
Definition: ddkmapi.h:201
DWORD dwYBitMask
Definition: ddkmapi.h:204
PVOID lpSurface
Definition: ddkmapi.h:197
DWORD ddRVal
Definition: ddkmapi.h:193
DWORD dwFormatFourCC
Definition: ddkmapi.h:200
DWORD dwUBitMask
Definition: ddkmapi.h:208
DWORD dwBBitMask
Definition: ddkmapi.h:211
DWORD dwFormatFlags
Definition: ddkmapi.h:199
DWORD SurfaceCaps
Definition: ddkmapi.h:198
DWORD dwVBitMask
Definition: ddkmapi.h:212
DWORD dwRBitMask
Definition: ddkmapi.h:203
DWORD dwSurfHeight
Definition: ddkmapi.h:194
ULONG_PTR dwDirectDrawHandle
Definition: ddkmapi.h:218
LPDD_NOTIFYCALLBACK pfnDirectDrawClose
Definition: ddkmapi.h:219
PVOID pContext
Definition: ddkmapi.h:232
HANDLE hDirectDraw
Definition: ddkmapi.h:229
ULONG_PTR dwSurfaceHandle
Definition: ddkmapi.h:230
LPDD_NOTIFYCALLBACK pfnSurfaceClose
Definition: ddkmapi.h:231
HANDLE hSurface
Definition: ddkmapi.h:237
LPDD_NOTIFYCALLBACK pfnVideoPortClose
Definition: ddkmapi.h:243
HANDLE hDirectDraw
Definition: ddkmapi.h:241
ULONG dwVideoPortHandle
Definition: ddkmapi.h:242
LPDD_NOTIFYCALLBACK pfnCaptureClose
Definition: ddkmapi.h:258
ULONG_PTR dwParam1
Definition: ddkmapi.h:272
LPDD_NOTIFYCALLBACK pfnCallback
Definition: ddkmapi.h:271
HANDLE hDirectDraw
Definition: ddkmapi.h:269
ULONG_PTR dwParam2
Definition: ddkmapi.h:273
HANDLE hVideoPort
Definition: ddkmapi.h:286
HANDLE hDirectDraw
Definition: ddkmapi.h:285
DWORD dwFieldNum
Definition: ddkmapi.h:287
HANDLE hDirectDraw
Definition: ddkmapi.h:291
DWORD dwStartField
Definition: ddkmapi.h:293
HANDLE hVideoPort
Definition: ddkmapi.h:292
HANDLE hDirectDraw
Definition: ddkmapi.h:278
DWORD dwStartField
Definition: ddkmapi.h:281
HANDLE hSurface
Definition: ddkmapi.h:279
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
#define PASCAL
Definition: windef.h:133