add stub for all dxeng so the dxg.sys does not crash, but we see where the problem...
[reactos.git] / reactos / subsystems / win32 / win32k / ntddraw / dxeng.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * PURPOSE: Native driver enumate of dxeng implementation
5 * FILE: subsys/win32k/ntddraw/dxeng.c
6 * PROGRAMER: Magnus olsen (magnus@greatlord.com)
7 * REVISION HISTORY:
8 * 15/10-2007 Magnus Olsen
9 */
10
11 #include <w32k.h>
12 #include <debug.h>
13
14
15
16 ULONG gcEngFuncs = DXENG_INDEX_DxEngLoadImage + 1;
17 DRVFN gaEngFuncs [] =
18 {
19 {0, (PFN) NULL},
20 {DXENG_INDEX_DxEngNUIsTermSrv, (PFN)DxEngNUIsTermSrv},
21 // {DXENG_INDEX_DxEngScreenAccessCheck, (PFN)DxEngScreenAccessCheck},
22 {0, (PFN) NULL}, // hack for now
23 {DXENG_INDEX_DxEngRedrawDesktop, (PFN)DxEngRedrawDesktop},
24 {DXENG_INDEX_DxEngDispUniq, (PFN)DxEngDispUniq},
25 // {DXENG_INDEX_DxEngIncDispUniq, (PFN)DxEngIncDispUniq},
26 {0, (PFN) NULL}, // hack for now
27 {DXENG_INDEX_DxEngVisRgnUniq, (PFN)DxEngVisRgnUniq},
28 // {DXENG_INDEX_DxEngLockShareSem, (PFN)DxEngLockShareSem},
29 {0, (PFN) NULL}, // hack for now
30 // {DXENG_INDEX_DxEngUnlockShareSem, (PFN)DxEngUnlockShareSem},
31 {0, (PFN) NULL}, // hack for now
32 {DXENG_INDEX_DxEngEnumerateHdev, (PFN)DxEngEnumerateHdev},
33 // {DXENG_INDEX_DxEngLockHdev, (PFN)DxEngLockHdev},
34 {0, (PFN) NULL}, // hack for now
35 // {DXENG_INDEX_DxEngUnlockHdev, (PFN)DxEngUnlockHdev},
36 {0, (PFN) NULL}, // hack for now
37 // {DXENG_INDEX_DxEngIsHdevLockedByCurrentThread, (PFN)DxEngIsHdevLockedByCurrentThread},
38 {0, (PFN) NULL}, // hack for now
39 // {DXENG_INDEX_DxEngReferenceHdev, (PFN)DxEngReferenceHdev},
40 {0, (PFN) NULL}, // hack for now
41 // {DXENG_INDEX_DxEngUnreferenceHdev, (PFN)DxEngUnreferenceHdev},
42 {0, (PFN) NULL}, // hack for now
43 {DXENG_INDEX_DxEngGetDeviceGammaRamp, (PFN)DxEngGetDeviceGammaRamp},
44 // {DXENG_INDEX_DxEngSetDeviceGammaRamp, (PFN)DxEngSetDeviceGammaRamp},
45 {0, (PFN) NULL}, // hack for now
46 // {DXENG_INDEX_DxEngSpTearDownSprites, (PFN)DxEngSpTearDownSprites},
47 {0, (PFN) NULL}, // hack for now
48 // {DXENG_INDEX_DxEngSpUnTearDownSprites, (PFN)DxEngSpUnTearDownSprites},
49 {0, (PFN) NULL}, // hack for now
50 // {DXENG_INDEX_DxEngSpSpritesVisible, (PFN)DxEngSpSpritesVisible},
51 {0, (PFN) NULL}, // hack for now
52 // {DXENG_INDEX_DxEngGetHdevData, (PFN)DxEngGetHdevData},
53 {0, (PFN) NULL}, // hack for now
54 // {DXENG_INDEX_DxEngSetHdevData, (PFN)DxEngSetHdevData},
55 {0, (PFN) NULL}, // hack for now
56 // {DXENG_INDEX_DxEngCreateMemoryDC, (PFN)DxEngCreateMemoryDC},
57 {0, (PFN) NULL}, // hack for now
58 // {DXENG_INDEX_DxEngGetDesktopDC, (PFN)DxEngGetDesktopDC},
59 {0, (PFN) NULL}, // hack for now
60 // {DXENG_INDEX_DxEngDeleteDC, (PFN)DxEngDeleteDC},
61 {0, (PFN) NULL}, // hack for now
62 // {DXENG_INDEX_DxEngCleanDC, (PFN)DxEngCleanDC},
63 {0, (PFN) NULL}, // hack for now
64 // {DXENG_INDEX_DxEngSetDCOwner, (PFN)DxEngSetDCOwner},
65 {0, (PFN) NULL}, // hack for now
66 {DXENG_INDEX_DxEngLockDC, (PFN)DxEngLockDC},
67 {DXENG_INDEX_DxEngUnlockDC, (PFN)DxEngUnlockDC},
68 // {DXENG_INDEX_DxEngSetDCState, (PFN)DxEngGetDCState},
69 {0, (PFN) NULL}, // hack for now
70 // {DXENG_INDEX_DxEngGetDCState, (PFN)DxEngGetDCState},
71 {0, (PFN) NULL}, // hack for now
72 // {DXENG_INDEX_DxEngSelectBitmap, (PFN)DxEngSelectBitmap},
73 {0, (PFN) NULL}, // hack for now
74 // {DXENG_INDEX_DxEngSetBitmapOwner, (PFN)DxEngSetBitmapOwner},
75 {0, (PFN) NULL}, // hack for now
76 // {DXENG_INDEX_DxEngDeleteSurface, (PFN)DxEngDeleteSurface},
77 {0, (PFN) NULL}, // hack for now
78 // {DXENG_INDEX_DxEngGetSurfaceData, (PFN)DxEngGetSurfaceData},
79 {0, (PFN) NULL}, // hack for now
80 // {DXENG_INDEX_DxEngAltLockSurface, (PFN)DxEngAltLockSurface},
81 {0, (PFN) NULL}, // hack for now
82 // {DXENG_INDEX_DxEngUploadPaletteEntryToSurface, (PFN)DxEngUploadPaletteEntryToSurface},
83 {0, (PFN) NULL}, // hack for now
84 // {DXENG_INDEX_DxEngMarkSurfaceAsDirectDraw, (PFN)DxEngMarkSurfaceAsDirectDraw},
85 {0, (PFN) NULL}, // hack for now
86 // {DXENG_INDEX_DxEngSelectPaletteToSurface, (PFN)DxEngSelectPaletteToSurface},
87 {0, (PFN) NULL}, // hack for now
88 // {DXENG_INDEX_DxEngSyncPaletteTableWithDevice, (PFN)DxEngSyncPaletteTableWithDevice},
89 {0, (PFN) NULL}, // hack for now
90 // {DXENG_INDEX_DxEngSetPaletteState, (PFN)DxEngSetPaletteState},
91 {0, (PFN) NULL}, // hack for now
92 // {DXENG_INDEX_DxEngGetRedirectionBitmap, (PFN)DxEngGetRedirectionBitmap},
93 {0, (PFN) NULL}, // hack for now
94 // {DXENG_INDEX_DxEngLoadImage, (PFN)DxEngLoadImage}
95 {0, (PFN) NULL} // hack for now
96 };
97
98 /************************************************************************/
99 /* DxEngNUIsTermSrv */
100 /************************************************************************/
101
102 /* Notes : Check see if termal server got a connections or not */
103 BOOL
104 DxEngNUIsTermSrv()
105 {
106 /* FIXME ReactOS does not suport terminal server yet, we can not check if we got a connections or not */
107 UNIMPLEMENTED;
108 return FALSE;
109 }
110
111 /************************************************************************/
112 /* DxEngRedrawDesktop */
113 /************************************************************************/
114
115 /* Notes : it always return TRUE, and it update whole the screen (redaw current desktop) */
116 BOOL
117 DxEngRedrawDesktop()
118 {
119 /* FIXME add redraw code */
120 UNIMPLEMENTED;
121 return TRUE;
122 }
123
124
125 /************************************************************************/
126 /* DxEngDispUniq */
127 /************************************************************************/
128
129 /* Notes : return the DisplayUniqVisrgn counter from gdishare memory */
130 ULONG
131 DxEngDispUniq()
132 {
133 /* FIXME DisplayUniqVisrgn from gdishare memory */
134 UNIMPLEMENTED;
135 return FALSE;
136 }
137
138 /************************************************************************/
139 /* DxEngVisRgnUniq */
140 /************************************************************************/
141 /* Notes : return the VisRgnUniq counter for win32k */
142 ULONG
143 DxEngVisRgnUniq()
144 {
145 /* FIXME DisplayUniqVisrgn from gdishare memory */
146 UNIMPLEMENTED;
147 return FALSE;
148 }
149
150 /************************************************************************/
151 /* DxEngEnumerateHdev */
152 /************************************************************************/
153 /* Enumate all drivers in win32k */
154 HDEV *
155 DxEngEnumerateHdev(HDEV *hdev)
156 {
157 /* FIXME Enumate all drivers in win32k */
158 UNIMPLEMENTED;
159 return FALSE;
160 }
161
162 /************************************************************************/
163 /* DxEngGetDeviceGammaRamp */
164 /************************************************************************/
165 /* same protypes NtGdiEngGetDeviceGammaRamp, diffent is we skipp the user mode checks and seh */
166 BOOL
167 DxEngGetDeviceGammaRamp(HDC hDC, LPVOID lpRamp)
168 {
169 /* FIXME redirect it to NtGdiEngGetDeviceGammaRamp internal call */
170 UNIMPLEMENTED;
171 return FALSE;
172 }
173
174
175 /*++
176 * @name DxEngLockDC
177 * @implemented
178 *
179 * The function DxEngLockDC lock a hdc from dxg.sys
180 *
181 * @param HDC hDC
182 * The handle we need want lock
183 *
184 * @return
185 * This api return PDC or NULL depns if it sussess lock the hdc or not
186 *
187 * @remarks.
188 * none
189 *
190 *--*/
191 PDC
192 DxEngLockDC(HDC hDC)
193 {
194 return DC_LockDc(hDC);
195 }
196
197
198 /*++
199 * @name DxEngUnlockDC
200 * @implemented
201 *
202 * The function DxEngUnlockDC Unlock a pDC (hdc) from dxg.sys
203
204 * @param PDC pDC
205 * The handle we need unlock
206 *
207 * @return
208 * This api always return TRUE if it sussess or not
209 *
210 * @remarks.
211 * none
212 *
213 *--*/
214 BOOL
215 DxEngUnlockDC(PDC pDC)
216 {
217 DC_UnlockDc(pDC);
218 return TRUE;
219 }
220
221
222 /************************************************************************/
223 /* DxEngCreateMemoryDC */
224 /************************************************************************/
225 DWORD DxEngCreateMemoryDC(DWORD x1)
226 {
227 UNIMPLEMENTED;
228 return FALSE;
229 }
230
231 /************************************************************************/
232 /* DxEngScreenAccessCheck */
233 /************************************************************************/
234 DWORD DxEngScreenAccessCheck()
235 {
236 UNIMPLEMENTED;
237 return FALSE;
238 }
239
240 /************************************************************************/
241 /* DxEngLockShareSem */
242 /************************************************************************/
243 DWORD DxEngLockShareSem()
244 {
245 UNIMPLEMENTED;
246 return FALSE;
247 }
248
249 /************************************************************************/
250 /* DxEngUnlockShareSem */
251 /************************************************************************/
252 DWORD DxEngUnlockShareSem()
253 {
254 UNIMPLEMENTED;
255 return FALSE;
256 }
257
258 /************************************************************************/
259 /* DxEngLockHdev */
260 /************************************************************************/
261 DWORD DxEngLockHdev(DWORD x1)
262 {
263 UNIMPLEMENTED;
264 return FALSE;
265 }
266
267 /************************************************************************/
268 /* DxEngUnlockHdev */
269 /************************************************************************/
270 DWORD DxEngUnlockHdev(DWORD x1)
271 {
272 UNIMPLEMENTED;
273 return FALSE;
274 }
275
276 /************************************************************************/
277 /* DxEngReferenceHdev */
278 /************************************************************************/
279 DWORD DxEngReferenceHdev(DWORD x1)
280 {
281 UNIMPLEMENTED;
282 return FALSE;
283 }
284
285 /************************************************************************/
286 /* DxEngIsHdevLockedByCurrentThread */
287 /************************************************************************/
288 DWORD DxEngIsHdevLockedByCurrentThread(DWORD x1)
289 {
290 UNIMPLEMENTED;
291 return FALSE;
292 }
293
294
295 /************************************************************************/
296 /* DxEngUnreferenceHdev */
297 /************************************************************************/
298 DWORD DxEngUnreferenceHdev(DWORD x1)
299 {
300 UNIMPLEMENTED;
301 return FALSE;
302 }
303
304 /************************************************************************/
305 /* DxEngSetDeviceGammaRamp */
306 /************************************************************************/
307 DWORD DxEngSetDeviceGammaRamp(DWORD x1, DWORD x2, DWORD x3)
308 {
309 UNIMPLEMENTED;
310 return FALSE;
311 }
312
313 /************************************************************************/
314 /* DxEngSpTearDownSprites */
315 /************************************************************************/
316 DWORD DxEngSpTearDownSprites(DWORD x1, DWORD x2, DWORD x3)
317 {
318 UNIMPLEMENTED;
319 return FALSE;
320 }
321
322 /************************************************************************/
323 /* DxEngSpUnTearDownSprites */
324 /************************************************************************/
325 DWORD DxEngSpUnTearDownSprites(DWORD x1, DWORD x2, DWORD x3)
326 {
327 UNIMPLEMENTED;
328 return FALSE;
329 }
330
331 /************************************************************************/
332 /* DxEngSpSpritesVisible */
333 /************************************************************************/
334 DWORD DxEngSpSpritesVisible(DWORD x1)
335 {
336 UNIMPLEMENTED;
337 return FALSE;
338 }
339
340 /************************************************************************/
341 /* DxEngGetHdevData */
342 /************************************************************************/
343 DWORD DxEngGetHdevData(DWORD x1, DWORD x2)
344 {
345 UNIMPLEMENTED;
346 return FALSE;
347 }
348
349 /************************************************************************/
350 /* DxEngSetHdevData */
351 /************************************************************************/
352 DWORD DxEngSetHdevData(DWORD x1, DWORD x2, DWORD x3)
353 {
354 UNIMPLEMENTED;
355 return FALSE;
356 }
357
358 /************************************************************************/
359 /* DxEngGetDesktopDC */
360 /************************************************************************/
361 DWORD DxEngGetDesktopDC(DWORD x1, DWORD x2, DWORD x3)
362 {
363 UNIMPLEMENTED;
364 return FALSE;
365 }
366
367 /************************************************************************/
368 /* DxEngDeleteDC */
369 /************************************************************************/
370 DWORD DxEngDeleteDC(DWORD x1, DWORD x2)
371 {
372 UNIMPLEMENTED;
373 return FALSE;
374 }
375
376 /************************************************************************/
377 /* DxEngCleanDC */
378 /************************************************************************/
379 DWORD DxEngCleanDC(DWORD x1)
380 {
381 UNIMPLEMENTED;
382 return FALSE;
383 }
384
385 /************************************************************************/
386 /* DxEngSetDCOwner */
387 /************************************************************************/
388 DWORD DxEngSetDCOwner(DWORD x1, DWORD x2)
389 {
390 UNIMPLEMENTED;
391 return FALSE;
392 }
393
394 /************************************************************************/
395 /* DxEngSetDCState */
396 /************************************************************************/
397 DWORD DxEngSetDCState(DWORD x1, DWORD x2, DWORD x3)
398 {
399 UNIMPLEMENTED;
400 return FALSE;
401 }
402
403 /************************************************************************/
404 /* DxEngGetDCState */
405 /************************************************************************/
406 DWORD DxEngGetDCState(DWORD x1, DWORD x2)
407 {
408 UNIMPLEMENTED;
409 return FALSE;
410 }
411
412 /************************************************************************/
413 /* DxEngSelectBitmap */
414 /************************************************************************/
415 DWORD DxEngSelectBitmap(DWORD x1, DWORD x2)
416 {
417 UNIMPLEMENTED;
418 return FALSE;
419 }
420
421 /************************************************************************/
422 /* DxEngSetBitmapOwner */
423 /************************************************************************/
424 DWORD DxEngSetBitmapOwner(DWORD x1, DWORD x2)
425 {
426 UNIMPLEMENTED;
427 return FALSE;
428 }
429
430 /************************************************************************/
431 /* DxEngDeleteSurface */
432 /************************************************************************/
433 DWORD DxEngDeleteSurface(DWORD x1)
434 {
435 UNIMPLEMENTED;
436 return FALSE;
437 }
438
439 /************************************************************************/
440 /* DxEngGetSurfaceData */
441 /************************************************************************/
442 DWORD DxEngGetSurfaceData(DWORD x1, DWORD x2)
443 {
444 UNIMPLEMENTED;
445 return FALSE;
446 }
447
448 /************************************************************************/
449 /* DxEngAltLockSurface */
450 /************************************************************************/
451 DWORD DxEngAltLockSurface(DWORD x1)
452 {
453 UNIMPLEMENTED;
454 return FALSE;
455 }
456
457 /************************************************************************/
458 /* DxEngUploadPaletteEntryToSurface */
459 /************************************************************************/
460 DWORD DxEngUploadPaletteEntryToSurface(DWORD x1, DWORD x2,DWORD x3, DWORD x4)
461 {
462 UNIMPLEMENTED;
463 return FALSE;
464 }
465
466 /************************************************************************/
467 /* DxEngMarkSurfaceAsDirectDraw */
468 /************************************************************************/
469 DWORD DxEngMarkSurfaceAsDirectDraw(DWORD x1, DWORD x2)
470 {
471 UNIMPLEMENTED;
472 return FALSE;
473 }
474
475 /************************************************************************/
476 /* DxEngSelectPaletteToSurface */
477 /************************************************************************/
478 DWORD DxEngSelectPaletteToSurface(DWORD x1, DWORD x2)
479 {
480 UNIMPLEMENTED;
481 return FALSE;
482 }
483
484 /************************************************************************/
485 /* DxEngSyncPaletteTableWithDevice */
486 /************************************************************************/
487 DWORD DxEngSyncPaletteTableWithDevice(DWORD x1, DWORD x2)
488 {
489 UNIMPLEMENTED;
490 return FALSE;
491 }
492
493 /************************************************************************/
494 /* DxEngSetPaletteState */
495 /************************************************************************/
496 DWORD DxEngSetPaletteState(DWORD x1, DWORD x2, DWORD x3)
497 {
498 UNIMPLEMENTED;
499 return FALSE;
500 }
501
502 /************************************************************************/
503 /* DxEngGetRedirectionBitmap */
504 /************************************************************************/
505 DWORD DxEngGetRedirectionBitmap(DWORD x1)
506 {
507 UNIMPLEMENTED;
508 return FALSE;
509 }
510
511 /************************************************************************/
512 /* DxEngLoadImage */
513 /************************************************************************/
514 DWORD DxEngLoadImage(DWORD x1,DWORD x2)
515 {
516 UNIMPLEMENTED;
517 return FALSE;
518 }
519
520