ReactOS  0.4.15-dev-3297-g037c744
dxapi_driver.h
Go to the documentation of this file.
1 #include <wdm.h>
2 
3 #include <windef.h>
4 #include <winerror.h>
5 #include <wingdi.h>
6 #define NT_BUILD_ENVIRONMENT
7 #include <winddi.h>
8 
9 #include <ddkmapi.h>
10 
11 /* Prototypes */
12 VOID DxGetVersionNumber(PVOID lpvInBuffer, LPDDGETVERSIONNUMBER lpvOutBuffer);
13 VOID DxCloseHandle(PVOID lpvInBuffer, PVOID lpvOutBuffer);
14 VOID DxOpenDirectDraw(PVOID lpvInBuffer, PVOID lpvOutBuffer);
15 VOID DxOpenSurface(PVOID lpvInBuffer, PVOID lpvOutBuffer);
16 VOID DxOpenVideoPort(PVOID lpvInBuffer, PVOID lpvOutBuffer);
17 VOID DxGetKernelCaps(PVOID lpvInBuffer, PVOID lpvOutBuffer);
18 VOID DxGetFieldNumber(PVOID lpvInBuffer, PVOID lpvOutBuffer);
19 VOID DxSetFieldNumber(PVOID lpvInBuffer, PVOID lpvOutBuffer);
20 VOID DxSetSkipPattern(PVOID lpvInBuffer, PVOID lpvOutBuffer);
21 VOID DxGetSurfaceState(PVOID lpvInBuffer, PVOID lpvOutBuffer);
22 VOID DxSetSurfaceState(PVOID lpvInBuffer, PVOID lpvOutBuffer);
23 VOID DxLock(PVOID lpvInBuffer, PVOID lpvOutBuffer);
24 VOID DxFlipOverlay(PVOID lpvInBuffer, PVOID lpvOutBuffer);
25 VOID DxFlipVideoPort(PVOID lpvInBuffer, PVOID lpvOutBuffer);
26 VOID DxGetCurrentAutoflip(PVOID lpvInBuffer, PVOID lpvOutBuffer);
27 VOID DxGetPreviousAutoflip(PVOID lpvInBuffer, PVOID lpvOutBuffer);
28 VOID DxRegisterEvent(PVOID lpvInBuffer, PVOID lpvOutBuffer);
29 VOID DxUnregisterEvent(PVOID lpvInBuffer, PVOID lpvOutBuffer);
30 VOID DxGetPolarity(PVOID lpvInBuffer, PVOID lpvOutBuffer);
31 VOID DxOpenVpCatureDevice(PVOID lpvInBuffer, PVOID lpvOutBuffer);
32 VOID DxAddVpCaptureBuffer(PVOID lpvInBuffer, PVOID lpvOutBuffer);
33 VOID DxFlushVpCaptureBuffs(PVOID lpvInBuffer, PVOID lpvOutBuffer);
34 
35 /* Internal driver table being use as looking up table for correct size of structs */
37 {
38  /* DD_DXAPI_GETVERSIONNUMBER */
39  0,
40  /* DD_DXAPI_CLOSEHANDLE */
41  sizeof(DDCLOSEHANDLE),
42  0, // DD_DXAPI_OPENDIRECTDRAW
43  0, // DD_DXAPI_OPENSURFACE
44  0, // DD_DXAPI_OPENVIDEOPORT
45  /* DD_DXAPI_GETKERNELCAPS */
46  sizeof(HANDLE),
47  /* DD_DXAPI_GET_VP_FIELD_NUMBER */
48  sizeof(DDGETFIELDNUMIN),
49  0, // DD_DXAPI_SET_VP_FIELD_NUMBER
50  0, // DD_DXAPI_SET_VP_SKIP_FIELD
51  0, // DD_DXAPI_GET_SURFACE_STATE
52  0, // DD_DXAPI_SET_SURFACE_STATE
53  0, // DD_DXAPI_LOCK
54  /* DD_DXAPI_FLIP_OVERLAY */
55  sizeof(DDFLIPOVERLAY),
56  /* DD_DXAPI_FLIP_VP */
57  sizeof(DDFLIPVIDEOPORT),
58  /* DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE */
59  sizeof(DDGETAUTOFLIPIN),
60  /* DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE */
61  sizeof(DDGETAUTOFLIPIN),
62  /* DD_DXAPI_REGISTER_CALLBACK */
63  sizeof(DDREGISTERCALLBACK),
64  /* DD_DXAPI_UNREGISTER_CALLBACK */
65  sizeof(DDREGISTERCALLBACK),
66  /* DD_DXAPI_GET_POLARITY */
67  sizeof(DDGETPOLARITYIN),
68  /* DD_DXAPI_OPENVPCAPTUREDEVICE */
70  /* DD_DXAPI_ADDVPCAPTUREBUFFER */
71  sizeof(DDADDVPCAPTUREBUFF),
72  /* DD_DXAPI_FLUSHVPCAPTUREBUFFERS */
73  sizeof(HANDLE)
74 };
75 
77 {
78  /* DD_DXAPI_GETVERSIONNUMBER */
79  sizeof(DDGETVERSIONNUMBER),
80  /* DD_DXAPI_CLOSEHANDLE */
81  sizeof(DWORD),
82  0, // DD_DXAPI_OPENDIRECTDRAW
83  0, // DD_DXAPI_OPENSURFACE
84  0, // DD_DXAPI_OPENVIDEOPORT
85  /* DD_DXAPI_GETKERNELCAPS */
86  sizeof(DDGETKERNELCAPSOUT),
87  /* DD_DXAPI_GET_VP_FIELD_NUMBER */
88  sizeof(DDGETFIELDNUMOUT),
89  0, // DD_DXAPI_SET_VP_FIELD_NUMBER
90  0, // DD_DXAPI_SET_VP_SKIP_FIELD
91  0, // DD_DXAPI_GET_SURFACE_STATE
92  0, // DD_DXAPI_SET_SURFACE_STATE
93  0, // DD_DXAPI_LOCK
94  /* DD_DXAPI_FLIP_OVERLAY */
95  sizeof(DWORD),
96  /* DD_DXAPI_FLIP_VP */
97  sizeof(DWORD),
98  /* DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE */
99  sizeof(DDGETAUTOFLIPOUT),
100  /* DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE */
101  sizeof(DDGETAUTOFLIPOUT),
102  /* DD_DXAPI_REGISTER_CALLBACK */
103  sizeof(DWORD),
104  /* DD_DXAPI_UNREGISTER_CALLBACK */
105  sizeof(DWORD),
106  /* DD_DXAPI_GET_POLARITY */
107  sizeof(DDGETPOLARITYOUT),
108  /* DD_DXAPI_OPENVPCAPTUREDEVICE */
109  sizeof(DDOPENVPCAPTUREDEVICEOUT),
110  /* DD_DXAPI_ADDVPCAPTUREBUFFER */
111  sizeof(DWORD),
112  /* DD_DXAPI_FLUSHVPCAPTUREBUFFERS */
113  sizeof(DWORD)
114 };
115 
116 /* Internal driver function */
118 {
141 };
#define DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE
Definition: ddkmapi.h:48
#define DD_DXAPI_OPENVPCAPTUREDEVICE
Definition: ddkmapi.h:53
struct _DDGETVERSIONNUMBER DDGETVERSIONNUMBER
VOID DxFlipVideoPort(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:271
VOID DxOpenSurface(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:211
struct _DDGETAUTOFLIPOUT DDGETAUTOFLIPOUT
VOID DxSetSkipPattern(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:241
VOID DxOpenVideoPort(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:217
#define DD_DXAPI_UNREGISTER_CALLBACK
Definition: ddkmapi.h:51
VOID DxLock(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:259
struct _DDGETPOLARITYOUT DDGETPOLARITYOUT
DWORD tblCheckOutBuffer[]
Definition: dxapi_driver.h:76
VOID DxCloseHandle(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:199
#define DD_DXAPI_SET_VP_SKIP_FIELD
Definition: ddkmapi.h:42
#define DD_DXAPI_GETVERSIONNUMBER
Definition: ddkmapi.h:34
#define DD_DXAPI_LOCK
Definition: ddkmapi.h:45
#define DWORD
Definition: nt_native.h:44
#define DD_DXAPI_GETKERNELCAPS
Definition: ddkmapi.h:39
#define DD_DXAPI_GET_SURFACE_STATE
Definition: ddkmapi.h:43
#define DD_DXAPI_ADDVPCAPTUREBUFFER
Definition: ddkmapi.h:54
DRVFN gDxApiEntryPoint[]
Definition: dxapi_driver.h:117
struct _DDGETFIELDNUMIN DDGETFIELDNUMIN
#define DD_DXAPI_GET_POLARITY
Definition: ddkmapi.h:52
struct _DDCLOSEHANDLE DDCLOSEHANDLE
#define DD_DXAPI_SET_SURFACE_STATE
Definition: ddkmapi.h:44
VOID DxOpenDirectDraw(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:205
#define DD_DXAPI_REGISTER_CALLBACK
Definition: ddkmapi.h:50
struct _DDREGISTERCALLBACK DDREGISTERCALLBACK
VOID DxSetSurfaceState(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:253
#define DD_DXAPI_OPENSURFACE
Definition: ddkmapi.h:37
VOID DxOpenVpCatureDevice(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:307
PVOID HANDLE
Definition: typedefs.h:73
unsigned long DWORD
Definition: ntddk_ex.h:95
VOID DxGetVersionNumber(PVOID lpvInBuffer, LPDDGETVERSIONNUMBER lpvOutBuffer)
Definition: main.c:191
#define DD_DXAPI_SET_VP_FIELD_NUMBER
Definition: ddkmapi.h:41
#define DD_DXAPI_FLIP_VP
Definition: ddkmapi.h:47
VOID DxAddVpCaptureBuffer(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:313
#define DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE
Definition: ddkmapi.h:49
struct _DDOPENVPCAPTUREDEVICEIN DDOPENVPCAPTUREDEVICEIN
#define DD_DXAPI_GET_VP_FIELD_NUMBER
Definition: ddkmapi.h:40
BOOLEAN(* PFN)(PARGS)
Definition: parse.h:47
VOID DxFlipOverlay(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:265
VOID DxGetPolarity(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:301
VOID DxUnregisterEvent(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:295
VOID DxGetKernelCaps(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:223
#define DD_DXAPI_OPENVIDEOPORT
Definition: ddkmapi.h:38
#define DD_DXAPI_CLOSEHANDLE
Definition: ddkmapi.h:35
DWORD tblCheckInBuffer[]
Definition: dxapi_driver.h:36
VOID DxGetPreviousAutoflip(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:283
#define DD_DXAPI_FLUSHVPCAPTUREBUFFERS
Definition: ddkmapi.h:55
VOID DxGetFieldNumber(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:229
VOID DxFlushVpCaptureBuffs(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:319
VOID DxSetFieldNumber(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:235
struct _DDFLIPVIDEOPORT DDFLIPVIDEOPORT
#define DD_FIRST_DXAPI
Definition: ddkmapi.h:33
VOID DxGetSurfaceState(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:247
VOID DxGetCurrentAutoflip(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:277
Definition: winddi.h:529
#define DD_DXAPI_FLIP_OVERLAY
Definition: ddkmapi.h:46
VOID DxRegisterEvent(PVOID lpvInBuffer, PVOID lpvOutBuffer)
Definition: main.c:289
struct _DDGETKERNELCAPSOUT DDGETKERNELCAPSOUT
struct _DDGETAUTOFLIPIN DDGETAUTOFLIPIN
#define DD_DXAPI_OPENDIRECTDRAW
Definition: ddkmapi.h:36