- Wooops, fix dxg and dxapi build after 42346.
[reactos.git] / reactos / drivers / directx / dxapi / dxapi_driver.h
1
2 /* DDK/NDK/SDK Headers */
3 #include <ddk/ntddk.h>
4 #include <ddk/ntddmou.h>
5 #include <ddk/ntifs.h>
6 #include <ddk/tvout.h>
7 #include <ndk/ntndk.h>
8
9 #include <stdarg.h>
10 #include <windef.h>
11 #include <winerror.h>
12 #include <wingdi.h>
13 #define NT_BUILD_ENVIRONMENT
14 #include <winddi.h>
15 #include <prntfont.h>
16 #include <dde.h>
17
18
19 #include <ddk/ddkmapi.h>
20
21 /* Prototypes */
22 VOID DxGetVersionNumber(PVOID lpvInBuffer, LPDDGETVERSIONNUMBER lpvOutBuffer);
23 VOID DxCloseHandle(PVOID lpvInBuffer, PVOID lpvOutBuffer);
24 VOID DxOpenDirectDraw(PVOID lpvInBuffer, PVOID lpvOutBuffer);
25 VOID DxOpenSurface(PVOID lpvInBuffer, PVOID lpvOutBuffer);
26 VOID DxOpenVideoPort(PVOID lpvInBuffer, PVOID lpvOutBuffer);
27 VOID DxGetKernelCaps(PVOID lpvInBuffer, PVOID lpvOutBuffer);
28 VOID DxGetFieldNumber(PVOID lpvInBuffer, PVOID lpvOutBuffer);
29 VOID DxSetFieldNumber(PVOID lpvInBuffer, PVOID lpvOutBuffer);
30 VOID DxSetSkipPattern(PVOID lpvInBuffer, PVOID lpvOutBuffer);
31 VOID DxGetSurfaceState(PVOID lpvInBuffer, PVOID lpvOutBuffer);
32 VOID DxSetSurfaceState(PVOID lpvInBuffer, PVOID lpvOutBuffer);
33 VOID DxLock(PVOID lpvInBuffer, PVOID lpvOutBuffer);
34 VOID DxFlipOverlay(PVOID lpvInBuffer, PVOID lpvOutBuffer);
35 VOID DxFlipVideoPort(PVOID lpvInBuffer, PVOID lpvOutBuffer);
36 VOID DxGetCurrentAutoflip(PVOID lpvInBuffer, PVOID lpvOutBuffer);
37 VOID DxGetPreviousAutoflip(PVOID lpvInBuffer, PVOID lpvOutBuffer);
38 VOID DxRegisterEvent(PVOID lpvInBuffer, PVOID lpvOutBuffer);
39 VOID DxUnregisterEvent(PVOID lpvInBuffer, PVOID lpvOutBuffer);
40 VOID DxGetPolarity(PVOID lpvInBuffer, PVOID lpvOutBuffer);
41 VOID DxOpenVpCatureDevice(PVOID lpvInBuffer, PVOID lpvOutBuffer);
42 VOID DxAddVpCaptureBuffer(PVOID lpvInBuffer, PVOID lpvOutBuffer);
43 VOID DxFlushVpCaptureBuffs(PVOID lpvInBuffer, PVOID lpvOutBuffer);
44
45 /* Internal driver table being use as looking up table for correct size of structs */
46 DWORD tblCheckInBuffer [] =
47 {
48 /* DD_DXAPI_GETVERSIONNUMBER */
49 0,
50 /* DD_DXAPI_CLOSEHANDLE */
51 sizeof(DDCLOSEHANDLE),
52 0, // DD_DXAPI_OPENDIRECTDRAW
53 0, // DD_DXAPI_OPENSURFACE
54 0, // DD_DXAPI_OPENVIDEOPORT
55 /* DD_DXAPI_GETKERNELCAPS */
56 sizeof(HANDLE),
57 /* DD_DXAPI_GET_VP_FIELD_NUMBER */
58 sizeof(DDGETFIELDNUMIN),
59 0, // DD_DXAPI_SET_VP_FIELD_NUMBER
60 0, // DD_DXAPI_SET_VP_SKIP_FIELD
61 0, // DD_DXAPI_GET_SURFACE_STATE
62 0, // DD_DXAPI_SET_SURFACE_STATE
63 0, // DD_DXAPI_LOCK
64 /* DD_DXAPI_FLIP_OVERLAY */
65 sizeof(DDFLIPOVERLAY),
66 /* DD_DXAPI_FLIP_VP */
67 sizeof(DDFLIPVIDEOPORT),
68 /* DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE */
69 sizeof(DDGETAUTOFLIPIN),
70 /* DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE */
71 sizeof(DDGETAUTOFLIPIN),
72 /* DD_DXAPI_REGISTER_CALLBACK */
73 sizeof(DDREGISTERCALLBACK),
74 /* DD_DXAPI_UNREGISTER_CALLBACK */
75 sizeof(DDREGISTERCALLBACK),
76 /* DD_DXAPI_GET_POLARITY */
77 sizeof(DDGETPOLARITYIN),
78 /* DD_DXAPI_OPENVPCAPTUREDEVICE */
79 sizeof(DDOPENVPCAPTUREDEVICEIN),
80 /* DD_DXAPI_ADDVPCAPTUREBUFFER */
81 sizeof(DDADDVPCAPTUREBUFF),
82 /* DD_DXAPI_FLUSHVPCAPTUREBUFFERS */
83 sizeof(HANDLE)
84 };
85
86 DWORD tblCheckOutBuffer [] =
87 {
88 /* DD_DXAPI_GETVERSIONNUMBER */
89 sizeof(DDGETVERSIONNUMBER),
90 /* DD_DXAPI_CLOSEHANDLE */
91 sizeof(DWORD),
92 0, // DD_DXAPI_OPENDIRECTDRAW
93 0, // DD_DXAPI_OPENSURFACE
94 0, // DD_DXAPI_OPENVIDEOPORT
95 /* DD_DXAPI_GETKERNELCAPS */
96 sizeof(DDGETKERNELCAPSOUT),
97 /* DD_DXAPI_GET_VP_FIELD_NUMBER */
98 sizeof(DDGETFIELDNUMOUT),
99 0, // DD_DXAPI_SET_VP_FIELD_NUMBER
100 0, // DD_DXAPI_SET_VP_SKIP_FIELD
101 0, // DD_DXAPI_GET_SURFACE_STATE
102 0, // DD_DXAPI_SET_SURFACE_STATE
103 0, // DD_DXAPI_LOCK
104 /* DD_DXAPI_FLIP_OVERLAY */
105 sizeof(DWORD),
106 /* DD_DXAPI_FLIP_VP */
107 sizeof(DWORD),
108 /* DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE */
109 sizeof(DDGETAUTOFLIPOUT),
110 /* DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE */
111 sizeof(DDGETAUTOFLIPOUT),
112 /* DD_DXAPI_REGISTER_CALLBACK */
113 sizeof(DWORD),
114 /* DD_DXAPI_UNREGISTER_CALLBACK */
115 sizeof(DWORD),
116 /* DD_DXAPI_GET_POLARITY */
117 sizeof(DDGETPOLARITYOUT),
118 /* DD_DXAPI_OPENVPCAPTUREDEVICE */
119 sizeof(DDOPENVPCAPTUREDEVICEOUT),
120 /* DD_DXAPI_ADDVPCAPTUREBUFFER */
121 sizeof(DWORD),
122 /* DD_DXAPI_FLUSHVPCAPTUREBUFFERS */
123 sizeof(DWORD)
124 };
125
126
127 /* Internal driver function */
128 DRVFN gDxApiEntryPoint [] =
129 {
130 {DD_DXAPI_GETVERSIONNUMBER - DD_FIRST_DXAPI, (PFN) DxGetVersionNumber},
131 {DD_DXAPI_CLOSEHANDLE - DD_FIRST_DXAPI, (PFN) DxCloseHandle},
132 {DD_DXAPI_OPENDIRECTDRAW - DD_FIRST_DXAPI, (PFN) DxOpenDirectDraw},
133 {DD_DXAPI_OPENSURFACE - DD_FIRST_DXAPI, (PFN) DxOpenSurface},
134 {DD_DXAPI_OPENVIDEOPORT - DD_FIRST_DXAPI, (PFN) DxOpenVideoPort},
135 {DD_DXAPI_GETKERNELCAPS - DD_FIRST_DXAPI, (PFN) DxGetKernelCaps},
136 {DD_DXAPI_GET_VP_FIELD_NUMBER - DD_FIRST_DXAPI, (PFN) DxGetFieldNumber},
137 {DD_DXAPI_SET_VP_FIELD_NUMBER - DD_FIRST_DXAPI, (PFN) DxSetFieldNumber},
138 {DD_DXAPI_SET_VP_SKIP_FIELD - DD_FIRST_DXAPI, (PFN) DxSetSkipPattern},
139 {DD_DXAPI_GET_SURFACE_STATE - DD_FIRST_DXAPI, (PFN) DxGetSurfaceState},
140 {DD_DXAPI_SET_SURFACE_STATE - DD_FIRST_DXAPI, (PFN) DxSetSurfaceState},
141 {DD_DXAPI_LOCK - DD_FIRST_DXAPI, (PFN) DxLock},
142 {DD_DXAPI_FLIP_OVERLAY - DD_FIRST_DXAPI, (PFN) DxFlipOverlay},
143 {DD_DXAPI_FLIP_VP - DD_FIRST_DXAPI, (PFN) DxFlipVideoPort},
144 {DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE - DD_FIRST_DXAPI, (PFN) DxGetCurrentAutoflip},
145 {DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE - DD_FIRST_DXAPI, (PFN) DxGetPreviousAutoflip},
146 {DD_DXAPI_REGISTER_CALLBACK - DD_FIRST_DXAPI, (PFN) DxRegisterEvent},
147 {DD_DXAPI_UNREGISTER_CALLBACK - DD_FIRST_DXAPI, (PFN) DxUnregisterEvent},
148 {DD_DXAPI_GET_POLARITY - DD_FIRST_DXAPI, (PFN) DxGetPolarity},
149 {DD_DXAPI_OPENVPCAPTUREDEVICE - DD_FIRST_DXAPI, (PFN) DxOpenVpCatureDevice},
150 {DD_DXAPI_ADDVPCAPTUREBUFFER - DD_FIRST_DXAPI, (PFN) DxAddVpCaptureBuffer},
151 {DD_DXAPI_FLUSHVPCAPTUREBUFFERS - DD_FIRST_DXAPI, (PFN) DxFlushVpCaptureBuffs}
152 };
153
154
155