- NtUserWaitForInputIdle: Call EngGetTickCount, removing duplicated code
[reactos.git] / reactos / subsystems / win32 / win32k / stubs / stubs.c
1 /*
2 * Stubs for unimplemented WIN32K.SYS exports
3 */
4
5 #include <w32k.h>
6
7 #define UNIMPLEMENTED DbgPrint("(%s:%i) WIN32K: %s UNIMPLEMENTED\n", __FILE__, __LINE__, __FUNCTION__ )
8
9
10
11
12 /*
13 * @unimplemented
14 */
15 BOOL
16 APIENTRY
17 EngMapFontFileFD (
18 IN ULONG_PTR iFile,
19 OUT PULONG *ppjBuf,
20 OUT ULONG *pcjBuf
21 )
22 {
23 // www.osr.com/ddk/graphics/gdifncs_0co7.htm
24 UNIMPLEMENTED;
25 return FALSE;
26 }
27
28 /*
29 * @unimplemented
30 */
31 VOID
32 APIENTRY
33 EngUnmapFontFileFD ( IN ULONG_PTR iFile )
34 {
35 // http://www.osr.com/ddk/graphics/gdifncs_6wbr.htm
36 UNIMPLEMENTED;
37 }
38
39 /*
40 * @implemented
41 */
42 BOOL
43 APIENTRY
44 EngMapFontFile (
45 ULONG_PTR iFile,
46 PULONG *ppjBuf,
47 ULONG *pcjBuf
48 )
49 {
50 // www.osr.com/ddk/graphics/gdifncs_3up3.htm
51 return EngMapFontFileFD ( iFile, ppjBuf, pcjBuf );
52 }
53
54 /*
55 * @implemented
56 */
57 VOID
58 APIENTRY
59 EngUnmapFontFile ( ULONG_PTR iFile )
60 {
61 // www.osr.com/ddk/graphics/gdifncs_09wn.htm
62 EngUnmapFontFileFD ( iFile );
63 }
64
65 /*
66 * @unimplemented
67 */
68 BOOL
69 APIENTRY
70 EngTextOut (
71 SURFOBJ *pso,
72 STROBJ *pstro,
73 FONTOBJ *pfo,
74 CLIPOBJ *pco,
75 RECTL *prclExtra,
76 RECTL *prclOpaque,
77 BRUSHOBJ *pboFore,
78 BRUSHOBJ *pboOpaque,
79 POINTL *pptlOrg,
80 MIX mix
81 )
82 {
83 // www.osr.com/ddk/graphics/gdifncs_4tgn.htm
84 UNIMPLEMENTED;
85 return FALSE;
86 }
87
88 /*
89 * @unimplemented
90 */
91 PATHOBJ*
92 APIENTRY
93 CLIPOBJ_ppoGetPath ( IN CLIPOBJ *pco )
94 {
95 // www.osr.com/ddk/graphics/gdifncs_6hbb.htm
96 UNIMPLEMENTED;
97 return 0;
98 }
99
100 /*
101 * @unimplemented
102 */
103 BOOL
104 APIENTRY
105 EngCheckAbort ( IN SURFOBJ *pso )
106 {
107 // www.osr.com/ddk/graphics/gdifncs_3u7b.htm
108 UNIMPLEMENTED;
109 return FALSE;
110 }
111
112 /*
113 * @unimplemented
114 */
115 FD_GLYPHSET*
116 APIENTRY
117 EngComputeGlyphSet(
118 IN INT nCodePage,
119 IN INT nFirstChar,
120 IN INT cChars
121 )
122 {
123 // www.osr.com/ddk/graphics/gdifncs_9607.htm
124 UNIMPLEMENTED;
125 return NULL;
126 }
127
128 /*
129 * @unimplemented
130 */
131 PATHOBJ*
132 APIENTRY
133 EngCreatePath ( VOID )
134 {
135 // www.osr.com/ddk/graphics/gdifncs_4aav.htm
136 UNIMPLEMENTED;
137 return NULL;
138 }
139
140 /*
141 * @unimplemented
142 */
143 VOID
144 APIENTRY
145 EngDeletePath ( IN PATHOBJ *ppo )
146 {
147 // www.osr.com/ddk/graphics/gdifncs_3fl3.htm
148 UNIMPLEMENTED;
149 }
150
151 /*
152 * @unimplemented
153 */
154 BOOL
155 APIENTRY
156 EngEnumForms (
157 IN HANDLE hPrinter,
158 IN DWORD Level,
159 OUT LPBYTE pForm,
160 IN DWORD cbBuf,
161 OUT LPDWORD pcbNeeded,
162 OUT LPDWORD pcReturned
163 )
164 {
165 // www.osr.com/ddk/graphics/gdifncs_5e07.htm
166 UNIMPLEMENTED;
167 return FALSE;
168 }
169
170 /*
171 * @unimplemented
172 */
173 BOOL
174 APIENTRY
175 EngFillPath (
176 IN SURFOBJ *pso,
177 IN PATHOBJ *ppo,
178 IN CLIPOBJ *pco,
179 IN BRUSHOBJ *pbo,
180 IN POINTL *pptlBrushOrg,
181 IN MIX mix,
182 IN FLONG flOptions
183 )
184 {
185 // www.osr.com/ddk/graphics/gdifncs_9pyf.htm
186 UNIMPLEMENTED;
187 return FALSE;
188 }
189
190 /*
191 * @unimplemented
192 */
193 PVOID
194 APIENTRY
195 EngFindResource(
196 IN HANDLE h,
197 IN int iName,
198 IN int iType,
199 OUT PULONG pulSize
200 )
201 {
202 // www.osr.com/ddk/graphics/gdifncs_7rjb.htm
203 UNIMPLEMENTED;
204 return NULL;
205 }
206
207 /*
208 * @unimplemented
209 */
210 VOID
211 APIENTRY
212 EngFreeModule ( IN HANDLE h )
213 {
214 // www.osr.com/ddk/graphics/gdifncs_9fzb.htm
215 UNIMPLEMENTED;
216 }
217
218
219 /*
220 * @unimplemented
221 */
222 LPWSTR
223 APIENTRY
224 EngGetDriverName ( IN HDEV hdev )
225 {
226 // www.osr.com/ddk/graphics/gdifncs_2gx3.htm
227 UNIMPLEMENTED;
228 return NULL;
229 }
230
231 /*
232 * @unimplemented
233 */
234 BOOL
235 APIENTRY
236 EngGetFileChangeTime(
237 IN HANDLE h,
238 OUT LARGE_INTEGER *pChangeTime
239 )
240 {
241 // www.osr.com/ddk/graphics/gdifncs_1i1z.htm
242 UNIMPLEMENTED;
243 return FALSE;
244 }
245
246 /*
247 * @unimplemented
248 */
249 BOOL
250 APIENTRY
251 EngGetFilePath(
252 IN HANDLE h,
253 OUT WCHAR (*pDest)[MAX_PATH+1]
254 )
255 {
256 // www.osr.com/ddk/graphics/gdifncs_5g2v.htm
257 UNIMPLEMENTED;
258 return FALSE;
259 }
260
261 /*
262 * @unimplemented
263 */
264 BOOL
265 APIENTRY
266 EngGetForm(
267 IN HANDLE hPrinter,
268 IN LPWSTR pFormName,
269 IN DWORD Level,
270 OUT LPBYTE pForm,
271 IN DWORD cbBuf,
272 OUT LPDWORD pcbNeeded
273 )
274 {
275 // www.osr.com/ddk/graphics/gdifncs_5vvr.htm
276 UNIMPLEMENTED;
277 return FALSE;
278 }
279
280 /*
281 * @unimplemented
282 */
283 BOOL
284 APIENTRY
285 EngGetPrinter(
286 IN HANDLE hPrinter,
287 IN DWORD dwLevel,
288 OUT LPBYTE pPrinter,
289 IN DWORD cbBuf,
290 OUT LPDWORD pcbNeeded
291 )
292 {
293 // www.osr.com/ddk/graphics/gdifncs_50h3.htm
294 UNIMPLEMENTED;
295 return FALSE;
296 }
297
298 /*
299 * @unimplemented
300 */
301 DWORD
302 APIENTRY
303 EngGetPrinterData(
304 IN HANDLE hPrinter,
305 IN LPWSTR pValueName,
306 OUT LPDWORD pType,
307 OUT LPBYTE pData,
308 IN DWORD nSize,
309 OUT LPDWORD pcbNeeded
310 )
311 {
312 // www.osr.com/ddk/graphics/gdifncs_8t5z.htm
313 UNIMPLEMENTED;
314 return 0;
315 }
316
317 /*
318 * @unimplemented
319 */
320 LPWSTR
321 APIENTRY
322 EngGetPrinterDataFileName ( IN HDEV hdev )
323 {
324 // www.osr.com/ddk/graphics/gdifncs_2giv.htm
325 UNIMPLEMENTED;
326 return NULL;
327 }
328
329 /*
330 * @unimplemented
331 */
332 BOOL
333 APIENTRY
334 EngGetType1FontList(
335 IN HDEV hdev,
336 OUT TYPE1_FONT *pType1Buffer,
337 IN ULONG cjType1Buffer,
338 OUT PULONG pulLocalFonts,
339 OUT PULONG pulRemoteFonts,
340 OUT LARGE_INTEGER *pLastModified
341 )
342 {
343 // www.osr.com/ddk/graphics/gdifncs_6e5j.htm
344 UNIMPLEMENTED;
345 return FALSE;
346 }
347
348 /*
349 * @unimplemented
350 */
351 HANDLE
352 APIENTRY
353 EngLoadModuleForWrite(
354 IN LPWSTR pwsz,
355 IN ULONG cjSizeOfModule
356 )
357 {
358 // www.osr.com/ddk/graphics/gdifncs_98rr.htm
359 UNIMPLEMENTED;
360 return NULL;
361 }
362
363 /*
364 * @unimplemented
365 */
366 PVOID
367 APIENTRY
368 EngMapModule(
369 IN HANDLE h,
370 OUT PULONG pSize
371 )
372 {
373 // www.osr.com/ddk/graphics/gdifncs_9b1j.htm
374 UNIMPLEMENTED;
375 return NULL;
376 }
377
378 /*
379 * @unimplemented
380 */
381 BOOL
382 APIENTRY
383 EngMarkBandingSurface ( IN HSURF hsurf )
384 {
385 // www.osr.com/ddk/graphics/gdifncs_2jon.htm
386 UNIMPLEMENTED;
387 return FALSE;
388 }
389
390 INT
391 APIENTRY
392 EngMultiByteToWideChar(
393 IN UINT CodePage,
394 OUT LPWSTR WideCharString,
395 IN INT BytesInWideCharString,
396 IN LPSTR MultiByteString,
397 IN INT BytesInMultiByteString
398 )
399 {
400 // www.osr.com/ddk/graphics/gdifncs_32cn.htm
401 UNIMPLEMENTED;
402 return 0;
403 }
404
405 VOID
406 APIENTRY
407 EngQueryLocalTime ( OUT PENG_TIME_FIELDS ptf )
408 {
409 // www.osr.com/ddk/graphics/gdifncs_389z.htm
410 UNIMPLEMENTED;
411 }
412
413 ULONG
414 APIENTRY
415 EngQueryPalette(
416 IN HPALETTE hPal,
417 OUT ULONG *piMode,
418 IN ULONG cColors,
419 OUT ULONG *pulColors
420 )
421 {
422 // www.osr.com/ddk/graphics/gdifncs_21t3.htm
423 UNIMPLEMENTED;
424 return 0;
425 }
426
427 BOOL
428 APIENTRY
429 EngSetPointerTag(
430 IN HDEV hdev,
431 IN SURFOBJ *psoMask,
432 IN SURFOBJ *psoColor,
433 IN XLATEOBJ *pxlo,
434 IN FLONG fl
435 )
436 {
437 // This function is obsolete for Windows 2000 and later.
438 // This function is still supported, but always returns FALSE.
439 // www.osr.com/ddk/graphics/gdifncs_4yav.htm
440 return FALSE;
441 }
442
443 DWORD
444 APIENTRY
445 EngSetPrinterData(
446 IN HANDLE hPrinter,
447 IN LPWSTR pType,
448 IN DWORD dwType,
449 IN LPBYTE lpbPrinterData,
450 IN DWORD cjPrinterData
451 )
452 {
453 // www.osr.com/ddk/graphics/gdifncs_8drb.htm
454 UNIMPLEMENTED;
455 return 0;
456 }
457
458 BOOL
459 APIENTRY
460 EngStrokeAndFillPath(
461 IN SURFOBJ *pso,
462 IN PATHOBJ *ppo,
463 IN CLIPOBJ *pco,
464 IN XFORMOBJ *pxo,
465 IN BRUSHOBJ *pboStroke,
466 IN LINEATTRS *plineattrs,
467 IN BRUSHOBJ *pboFill,
468 IN POINTL *pptlBrushOrg,
469 IN MIX mixFill,
470 IN FLONG flOptions
471 )
472 {
473 // www.osr.com/ddk/graphics/gdifncs_2xwn.htm
474 UNIMPLEMENTED;
475 return FALSE;
476 }
477
478 BOOL
479 APIENTRY
480 EngStrokePath(
481 IN SURFOBJ *pso,
482 IN PATHOBJ *ppo,
483 IN CLIPOBJ *pco,
484 IN XFORMOBJ *pxo,
485 IN BRUSHOBJ *pbo,
486 IN POINTL *pptlBrushOrg,
487 IN LINEATTRS *plineattrs,
488 IN MIX mix
489 )
490 {
491 // www.osr.com/ddk/graphics/gdifncs_4yaw.htm
492 UNIMPLEMENTED;
493 return FALSE;
494 }
495
496
497 INT
498 APIENTRY
499 EngWideCharToMultiByte(
500 IN UINT CodePage,
501 IN LPWSTR WideCharString,
502 IN INT BytesInWideCharString,
503 OUT LPSTR MultiByteString,
504 IN INT BytesInMultiByteString
505 )
506 {
507 // www.osr.com/ddk/graphics/gdifncs_35wn.htm
508 UNIMPLEMENTED;
509 return 0;
510 }
511
512 BOOL
513 APIENTRY
514 EngWritePrinter (
515 IN HANDLE hPrinter,
516 IN LPVOID pBuf,
517 IN DWORD cbBuf,
518 OUT LPDWORD pcWritten
519 )
520 {
521 // www.osr.com/ddk/graphics/gdifncs_9v6v.htm
522 UNIMPLEMENTED;
523 return FALSE;
524 }
525
526 /*
527 * @unimplemented
528 */
529 ULONG
530 APIENTRY
531 FONTOBJ_cGetAllGlyphHandles (
532 IN FONTOBJ *FontObj,
533 IN HGLYPH *Glyphs
534 )
535 {
536 UNIMPLEMENTED;
537 return 0;
538 }
539
540 /*
541 * @unimplemented
542 */
543 ULONG
544 APIENTRY
545 FONTOBJ_cGetGlyphs(
546 IN FONTOBJ *FontObj,
547 IN ULONG Mode,
548 IN ULONG NumGlyphs,
549 IN HGLYPH *GlyphHandles,
550 IN PVOID *OutGlyphs
551 )
552 {
553 UNIMPLEMENTED;
554 return 0;
555 }
556
557 /*
558 * @unimplemented
559 */
560 IFIMETRICS*
561 APIENTRY
562 FONTOBJ_pifi ( IN FONTOBJ *FontObj )
563 {
564 UNIMPLEMENTED;
565 return NULL;
566 }
567
568 /*
569 * @unimplemented
570 */
571 PVOID
572 APIENTRY
573 FONTOBJ_pvTrueTypeFontFile (
574 IN FONTOBJ *FontObj,
575 IN ULONG *FileSize)
576 {
577 UNIMPLEMENTED;
578 return NULL;
579 }
580
581 /*
582 * @unimplemented
583 */
584 XFORMOBJ*
585 APIENTRY
586 FONTOBJ_pxoGetXform ( IN FONTOBJ *FontObj )
587 {
588 UNIMPLEMENTED;
589 return NULL;
590 }
591
592 /*
593 * @unimplemented
594 */
595 VOID
596 APIENTRY
597 FONTOBJ_vGetInfo (
598 IN FONTOBJ *FontObj,
599 IN ULONG InfoSize,
600 OUT PFONTINFO FontInfo)
601 {
602 UNIMPLEMENTED;
603 }
604
605 LONG
606 APIENTRY
607 HT_ComputeRGBGammaTable(
608 IN USHORT GammaTableEntries,
609 IN USHORT GammaTableType,
610 IN USHORT RedGamma,
611 IN USHORT GreenGamma,
612 IN USHORT BlueGamma,
613 OUT LPBYTE pGammaTable
614 )
615 {
616 // www.osr.com/ddk/graphics/gdifncs_9dpj.htm
617 UNIMPLEMENTED;
618 return 0;
619 }
620
621 LONG
622 APIENTRY
623 HT_Get8BPPFormatPalette(
624 OUT LPPALETTEENTRY pPaletteEntry,
625 IN USHORT RedGamma,
626 IN USHORT GreenGamma,
627 IN USHORT BlueGamma
628 )
629 {
630 // www.osr.com/ddk/graphics/gdifncs_8kvb.htm
631 UNIMPLEMENTED;
632 return 0;
633 }
634
635 BOOL
636 APIENTRY
637 PATHOBJ_bCloseFigure ( IN PATHOBJ *ppo )
638 {
639 // www.osr.com/ddk/graphics/gdifncs_5mhz.htm
640 UNIMPLEMENTED;
641 return FALSE;
642 }
643
644 BOOL
645 APIENTRY
646 PATHOBJ_bEnum (
647 IN PATHOBJ *ppo,
648 OUT PATHDATA *ppd
649 )
650 {
651 // www.osr.com/ddk/graphics/gdifncs_98o7.htm
652 UNIMPLEMENTED;
653 return FALSE;
654 }
655
656 BOOL
657 APIENTRY
658 PATHOBJ_bEnumClipLines(
659 IN PATHOBJ *ppo,
660 IN ULONG cb,
661 OUT CLIPLINE *pcl
662 )
663 {
664 // www.osr.com/ddk/graphics/gdifncs_4147.htm
665 UNIMPLEMENTED;
666 return FALSE;
667 }
668
669 BOOL
670 APIENTRY
671 PATHOBJ_bMoveTo(
672 IN PATHOBJ *ppo,
673 IN POINTFIX ptfx
674 )
675 {
676 // www.osr.com/ddk/graphics/gdifncs_70vb.htm
677 UNIMPLEMENTED;
678 return FALSE;
679 }
680
681 BOOL
682 APIENTRY
683 PATHOBJ_bPolyBezierTo(
684 IN PATHOBJ *ppo,
685 IN POINTFIX *pptfx,
686 IN ULONG cptfx
687 )
688 {
689 // www.osr.com/ddk/graphics/gdifncs_2c9z.htm
690 UNIMPLEMENTED;
691 return FALSE;
692 }
693
694 BOOL
695 APIENTRY
696 PATHOBJ_bPolyLineTo(
697 IN PATHOBJ *ppo,
698 IN POINTFIX *pptfx,
699 IN ULONG cptfx
700 )
701 {
702 // www.osr.com/ddk/graphics/gdifncs_0x47.htm
703 UNIMPLEMENTED;
704 return FALSE;
705 }
706
707 VOID
708 APIENTRY
709 PATHOBJ_vEnumStart ( IN PATHOBJ *ppo )
710 {
711 // www.osr.com/ddk/graphics/gdifncs_74br.htm
712 UNIMPLEMENTED;
713 }
714
715 VOID
716 APIENTRY
717 PATHOBJ_vEnumStartClipLines(
718 IN PATHOBJ *ppo,
719 IN CLIPOBJ *pco,
720 IN SURFOBJ *pso,
721 IN LINEATTRS *pla
722 )
723 {
724 // www.osr.com/ddk/graphics/gdifncs_5grr.htm
725 UNIMPLEMENTED;
726 }
727
728 VOID
729 APIENTRY
730 PATHOBJ_vGetBounds(
731 IN PATHOBJ *ppo,
732 OUT PRECTFX prectfx
733 )
734 {
735 // www.osr.com/ddk/graphics/gdifncs_8qp3.htm
736 UNIMPLEMENTED;
737 }
738
739 /*
740 * @unimplemented
741 */
742 ULONG APIENTRY
743 EngDitherColor(
744 IN HDEV hdev,
745 IN ULONG iMode,
746 IN ULONG rgb,
747 OUT ULONG *pul)
748 {
749 return DCR_SOLID;
750 }
751
752 /*
753 * @implemented
754 */
755 BOOL APIENTRY
756 EngQuerySystemAttribute(
757 IN ENG_SYSTEM_ATTRIBUTE CapNum,
758 OUT PDWORD pCapability)
759 {
760 SYSTEM_BASIC_INFORMATION sbi;
761 SYSTEM_PROCESSOR_INFORMATION spi;
762
763 switch (CapNum)
764 {
765 case EngNumberOfProcessors:
766 NtQuerySystemInformation(
767 SystemBasicInformation,
768 &sbi,
769 sizeof(SYSTEM_BASIC_INFORMATION),
770 NULL);
771 *pCapability = sbi.NumberOfProcessors;
772 return TRUE;
773
774 case EngProcessorFeature:
775 NtQuerySystemInformation(
776 SystemProcessorInformation,
777 &spi,
778 sizeof(SYSTEM_PROCESSOR_INFORMATION),
779 NULL);
780 *pCapability = spi.ProcessorFeatureBits;
781 return TRUE;
782
783 default:
784 break;
785 }
786
787 return FALSE;
788 }
789
790
791 /*
792 * @unimplemented
793 */
794 HANDLE APIENTRY
795 BRUSHOBJ_hGetColorTransform(
796 IN BRUSHOBJ *Brush)
797 {
798 UNIMPLEMENTED;
799 return NULL;
800 }
801
802 /*
803 * @unimplemented
804 */
805 VOID
806 APIENTRY
807 EngClearEvent(
808 IN PEVENT Event)
809 {
810 /* Forward to the kernel */
811 KeClearEvent((PKEVENT)Event);
812 }
813
814 /*
815 * @unimplemented
816 */
817 BOOL
818 APIENTRY
819 EngDeleteFile(
820 IN LPWSTR FileName)
821 {
822 UNIMPLEMENTED;
823 return FALSE;
824 }
825
826
827
828 /*
829 * @unimplemented
830 */
831 BOOL APIENTRY
832 EngGetPrinterDriver(
833 IN HANDLE Printer,
834 IN LPWSTR Environment,
835 IN DWORD Level,
836 OUT BYTE *DrvInfo,
837 IN DWORD Buf,
838 OUT DWORD *Needed)
839 {
840 UNIMPLEMENTED;
841 return FALSE;
842 }
843
844 /*
845 * @unimplemented
846 */
847 ULONG APIENTRY
848 EngHangNotification(
849 IN HDEV Dev,
850 IN PVOID Reserved)
851 {
852 UNIMPLEMENTED;
853 return EHN_ERROR;
854 }
855
856
857
858 /*
859 * @unimplemented
860 */
861 BOOL APIENTRY
862 EngLpkInstalled()
863 {
864 UNIMPLEMENTED;
865 return FALSE;
866 }
867
868 /*
869 * @unimplemented
870 */
871 PVOID APIENTRY
872 EngMapFile(
873 IN LPWSTR Filename,
874 IN ULONG Size,
875 OUT ULONG_PTR *File)
876 {
877 UNIMPLEMENTED;
878 return NULL;
879 }
880
881 /*
882 * @unimplemented
883 */
884 BOOL APIENTRY
885 EngPlgBlt(
886 IN SURFOBJ *Dest,
887 IN SURFOBJ *Source,
888 IN SURFOBJ *Mask,
889 IN CLIPOBJ *Clip,
890 IN XLATEOBJ *Xlate,
891 IN COLORADJUSTMENT *ColorAdjustment,
892 IN POINTL *BrusOrigin,
893 IN POINTFIX *DestPoints,
894 IN RECTL *SourceRect,
895 IN POINTL *MaskPoint,
896 IN ULONG Mode)
897 {
898 UNIMPLEMENTED;
899 return FALSE;
900 }
901
902 /*
903 * @unimplemented
904 */
905 BOOL APIENTRY
906 EngQueryDeviceAttribute(
907 IN HDEV Device,
908 IN ENG_DEVICE_ATTRIBUTE Attribute,
909 IN VOID *In,
910 IN ULONG InSize,
911 OUT VOID *Out,
912 OUT ULONG OutSize)
913 {
914 UNIMPLEMENTED;
915 return FALSE;
916 }
917
918 /*
919 * @unimplemented
920 */
921 LARGE_INTEGER
922 APIENTRY
923 EngQueryFileTimeStamp(IN LPWSTR FileName)
924 {
925 LARGE_INTEGER FileTime;
926 FileTime.QuadPart = 0;
927 UNIMPLEMENTED;
928 return FileTime;
929 }
930
931 /*
932 * @unimplemented
933 */
934 LONG APIENTRY
935 EngReadStateEvent(
936 IN PEVENT Event)
937 {
938 UNIMPLEMENTED;
939 return 0;
940 }
941 BOOL APIENTRY
942 EngStretchBltROP(
943 IN SURFOBJ *Dest,
944 IN SURFOBJ *Source,
945 IN SURFOBJ *Mask,
946 IN CLIPOBJ *Clip,
947 IN XLATEOBJ *Xlate,
948 IN COLORADJUSTMENT *ColorAdjustment,
949 IN POINTL *BrushOrigin,
950 IN RECTL *DestRect,
951 IN RECTL *SourceRect,
952 IN POINTL *MaskPoint,
953 IN ULONG Mode,
954 IN BRUSHOBJ *BrushObj,
955 IN DWORD ROP4)
956 {
957 UNIMPLEMENTED;
958 return FALSE;
959 }
960
961
962 /*
963 * @unimplemented
964 */
965 BOOL APIENTRY
966 EngUnmapFile(
967 IN ULONG_PTR File)
968 {
969 UNIMPLEMENTED;
970 return FALSE;
971 }
972
973 /*
974 * @unimplemented
975 */
976 FD_GLYPHSET * APIENTRY
977 FONTOBJ_pfdg(
978 IN FONTOBJ *FontObj)
979 {
980 UNIMPLEMENTED;
981 return NULL;
982 }
983
984 /*
985 * @unimplemented
986 */
987 PBYTE APIENTRY
988 FONTOBJ_pjOpenTypeTablePointer(
989 IN FONTOBJ *FontObj,
990 IN ULONG Tag,
991 OUT ULONG *Table)
992 {
993 UNIMPLEMENTED;
994 return NULL;
995 }
996
997 /*
998 * @unimplemented
999 */
1000 PFD_GLYPHATTR APIENTRY
1001 FONTOBJ_pQueryGlyphAttrs(
1002 IN FONTOBJ *FontObj,
1003 IN ULONG Mode)
1004 {
1005 UNIMPLEMENTED;
1006 return NULL;
1007 }
1008
1009 /*
1010 * @unimplemented
1011 */
1012 LPWSTR APIENTRY
1013 FONTOBJ_pwszFontFilePaths(
1014 IN FONTOBJ *FontObj,
1015 OUT ULONG *PathLength)
1016 {
1017 UNIMPLEMENTED;
1018 return NULL;
1019 }
1020
1021 /*
1022 * @unimplemented
1023 */
1024 LONG APIENTRY
1025 HT_Get8BPPMaskPalette(
1026 IN OUT LPPALETTEENTRY PaletteEntry,
1027 IN BOOL Use8BPPMaskPal,
1028 IN BYTE CMYMask,
1029 IN USHORT RedGamma,
1030 IN USHORT GreenGamma,
1031 IN USHORT BlueGamma)
1032 {
1033 UNIMPLEMENTED;
1034 return 0;
1035 }
1036
1037 /*
1038 * @unimplemented
1039 */
1040 HANDLE APIENTRY
1041 XLATEOBJ_hGetColorTransform(
1042 IN XLATEOBJ *XlateObj)
1043 {
1044 UNIMPLEMENTED;
1045 return NULL;
1046 }
1047
1048
1049 /*
1050 * @unimplemented
1051 */
1052
1053 BOOL
1054 APIENTRY
1055 NtGdiAnyLinkedFonts()
1056 {
1057 UNIMPLEMENTED;
1058 return FALSE;
1059 }
1060
1061 /*
1062 * @unimplemented
1063 */
1064 HANDLE
1065 APIENTRY
1066 NtGdiBRUSHOBJ_hGetColorTransform(
1067 IN BRUSHOBJ *Brush)
1068 {
1069 UNIMPLEMENTED;
1070 return NULL;
1071 }
1072
1073 /*
1074 * @unimplemented
1075 */
1076 PVOID APIENTRY
1077 NtGdiBRUSHOBJ_pvAllocRbrush(IN BRUSHOBJ *BrushObj,
1078 IN ULONG ObjSize)
1079 {
1080 UNIMPLEMENTED;
1081 return NULL;
1082 }
1083
1084 /*
1085 * @unimplemented
1086 */
1087 PVOID APIENTRY
1088 NtGdiBRUSHOBJ_pvGetRbrush(IN BRUSHOBJ *BrushObj)
1089 {
1090 UNIMPLEMENTED;
1091 return NULL;
1092 }
1093
1094 /*
1095 * @unimplemented
1096 */
1097 ULONG APIENTRY
1098 NtGdiBRUSHOBJ_ulGetBrushColor(BRUSHOBJ *pbo)
1099 {
1100 UNIMPLEMENTED;
1101 return 0;
1102 }
1103
1104 /*
1105 * @unimplemented
1106 */
1107 BOOL APIENTRY
1108 NtGdiCLIPOBJ_bEnum( IN CLIPOBJ *ClipObj,
1109 IN ULONG ObjSize,
1110 OUT ULONG *EnumRects)
1111 {
1112 UNIMPLEMENTED;
1113 return FALSE;
1114 }
1115
1116
1117 /*
1118 * @unimplemented
1119 */
1120 ULONG APIENTRY
1121 NtGdiCLIPOBJ_cEnumStart(IN CLIPOBJ *ClipObj,
1122 IN BOOL ShouldDoAll,
1123 IN ULONG ClipType,
1124 IN ULONG BuildOrder,
1125 IN ULONG MaxRects)
1126 {
1127 UNIMPLEMENTED;
1128 return 0;
1129 }
1130
1131
1132 /*
1133 * @unimplemented
1134 */
1135 PATHOBJ* APIENTRY
1136 NtGdiCLIPOBJ_ppoGetPath(CLIPOBJ *ClipObj)
1137 {
1138 UNIMPLEMENTED;
1139 return NULL;
1140 }
1141
1142
1143 /*
1144 * @unimplemented
1145 */
1146 BOOL
1147 APIENTRY
1148 NtGdiEnableEudc(BOOL enable)
1149 {
1150 UNIMPLEMENTED;
1151 return FALSE;
1152 }
1153
1154
1155 /*
1156 * @unimplemented
1157 */
1158 BOOL APIENTRY
1159 NtGdiEngAssociateSurface(IN HSURF Surface,
1160 IN HDEV Dev,
1161 IN ULONG Hooks)
1162 {
1163 UNIMPLEMENTED;
1164 return FALSE;
1165 }
1166
1167 /*
1168 * @unimplemented
1169 */
1170 CLIPOBJ* APIENTRY
1171 NtGdiEngCreateClip(VOID)
1172 {
1173 UNIMPLEMENTED;
1174 return NULL;
1175 }
1176
1177
1178 /*
1179 * @unimplemented
1180 */
1181 VOID APIENTRY
1182 NtGdiEngDeleteClip(CLIPOBJ *ClipRegion)
1183 {
1184 UNIMPLEMENTED;
1185 }
1186
1187
1188 /*
1189 * @unimplemented
1190 */
1191 BOOL APIENTRY
1192 NtGdiEngCheckAbort(SURFOBJ *pso)
1193 {
1194 UNIMPLEMENTED;
1195 return FALSE;
1196 }
1197
1198 /*
1199 * @unimplemented
1200 */
1201 HSURF APIENTRY
1202 NtGdiEngCreateDeviceSurface( IN DHSURF Surface,
1203 IN SIZEL Size,
1204 IN ULONG FormatVersion)
1205 {
1206 UNIMPLEMENTED;
1207 return 0;
1208 }
1209
1210 /*
1211 * @unimplemented
1212 */
1213 HBITMAP APIENTRY
1214 NtGdiEngCreateDeviceBitmap(
1215 IN DHSURF dhsurf,
1216 IN SIZEL sizl,
1217 IN ULONG iFormatCompat)
1218 {
1219 UNIMPLEMENTED;
1220 return NULL;
1221 }
1222
1223
1224 /*
1225 * @unimplemented
1226 */
1227 BOOL APIENTRY
1228 NtGdiEngCopyBits(SURFOBJ *Dest,
1229 SURFOBJ *Source,
1230 CLIPOBJ *Clip,
1231 XLATEOBJ *ColorTranslation,
1232 RECTL *DestRect,
1233 POINTL *SourcePoint)
1234 {
1235 UNIMPLEMENTED;
1236 return FALSE;
1237 }
1238
1239 /*
1240 * @implemented
1241 */
1242 HBITMAP APIENTRY
1243 NtGdiEngCreateBitmap(IN SIZEL Size,
1244 IN LONG Width,
1245 IN ULONG Format,
1246 IN ULONG Flags,
1247 IN PVOID Bits)
1248 {
1249 return EngCreateBitmap(Size,
1250 Width,
1251 Format,
1252 Flags,
1253 Bits);
1254 }
1255
1256
1257 /*
1258 * @implemented
1259 */
1260 HPALETTE APIENTRY
1261 NtGdiEngCreatePalette(IN ULONG Mode,
1262 IN ULONG NumColors,
1263 IN ULONG *Colors,
1264 IN ULONG Red,
1265 IN ULONG Green,
1266 IN ULONG Blue)
1267 {
1268 return EngCreatePalette( Mode,
1269 NumColors,
1270 Colors,
1271 Red,
1272 Green,
1273 Blue);
1274 }
1275
1276 BOOL APIENTRY
1277 NtGdiEngTransparentBlt(IN SURFOBJ *Dest,
1278 IN SURFOBJ *Source,
1279 IN CLIPOBJ *Clip,
1280 IN XLATEOBJ *ColorTranslation,
1281 IN PRECTL DestRect,
1282 IN PRECTL SourceRect,
1283 IN ULONG TransparentColor,
1284 IN ULONG Reserved)
1285 {
1286 UNIMPLEMENTED;
1287 return FALSE;
1288 }
1289
1290
1291 /*
1292 * @unimplemented
1293 */
1294 BOOL APIENTRY
1295 NtGdiEngTextOut(SURFOBJ *pso,
1296 STROBJ *pstro,
1297 FONTOBJ *pfo,
1298 CLIPOBJ *pco,
1299 RECTL *prclExtra,
1300 RECTL *prclOpaque,
1301 BRUSHOBJ *pboFore,
1302 BRUSHOBJ *pboOpaque,
1303 POINTL *pptlOrg,
1304 MIX mix)
1305 {
1306 UNIMPLEMENTED;
1307 return FALSE;
1308 }
1309
1310 /*
1311 * @unimplemented
1312 */
1313 BOOL APIENTRY
1314 NtGdiEngStrokePath(SURFOBJ *pso,
1315 PATHOBJ *ppo,
1316 CLIPOBJ *pco,
1317 XFORMOBJ *pxo,
1318 BRUSHOBJ *pbo,
1319 POINTL *pptlBrushOrg,
1320 LINEATTRS *plineattrs,
1321 MIX mix)
1322 {
1323 UNIMPLEMENTED;
1324 return FALSE;
1325 }
1326
1327 /*
1328 * @implemented
1329 */
1330 BOOL APIENTRY
1331 NtGdiEngDeletePalette(IN HPALETTE Palette)
1332 {
1333 return EngDeletePalette(Palette);
1334 }
1335
1336 /*
1337 * @unimplemented
1338 */
1339 BOOL APIENTRY
1340 NtGdiEngStrokeAndFillPath(SURFOBJ *pso,
1341 PATHOBJ *ppo,
1342 CLIPOBJ *pco,
1343 XFORMOBJ *pxo,
1344 BRUSHOBJ *pboStroke,
1345 LINEATTRS *plineattrs,
1346 BRUSHOBJ *pboFill,
1347 POINTL *pptlBrushOrg,
1348 MIX mixFill,
1349 FLONG flOptions)
1350 {
1351 UNIMPLEMENTED;
1352 return FALSE;
1353 }
1354
1355 /*
1356 * @unimplemented
1357 */
1358 VOID APIENTRY
1359 NtGdiEngDeletePath(PATHOBJ *ppo)
1360 {
1361 UNIMPLEMENTED;
1362 }
1363
1364 /*
1365 * @unimplemented
1366 */
1367 BOOL APIENTRY
1368 NtGdiEngDeleteSurface(IN HSURF Surface)
1369 {
1370 UNIMPLEMENTED;
1371 return FALSE;
1372 }
1373
1374 /*
1375 * @unimplemented
1376 */
1377 BOOL APIENTRY
1378 NtGdiEngEraseSurface(SURFOBJ *Surface,
1379 RECTL *Rect,
1380 ULONG iColor)
1381 {
1382 UNIMPLEMENTED;
1383 return FALSE;
1384 }
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395 /*
1396 * @unimplemented
1397 */
1398 BOOL APIENTRY
1399 NtGdiEngFillPath(SURFOBJ *pso,
1400 PATHOBJ *ppo,
1401 CLIPOBJ *pco,
1402 BRUSHOBJ *pbo,
1403 POINTL *pptlBrushOrg,
1404 MIX mix,
1405 FLONG flOptions)
1406 {
1407 UNIMPLEMENTED;
1408 return FALSE;
1409 }
1410
1411 BOOL APIENTRY
1412 NtGdiEngGradientFill(SURFOBJ *psoDest,
1413 CLIPOBJ *pco,
1414 XLATEOBJ *pxlo,
1415 TRIVERTEX *pVertex,
1416 ULONG nVertex,
1417 PVOID pMesh,
1418 ULONG nMesh,
1419 RECTL *prclExtents,
1420 POINTL *pptlDitherOrg,
1421 ULONG ulMode)
1422 {
1423 UNIMPLEMENTED;
1424 return FALSE;
1425 }
1426
1427 BOOL APIENTRY
1428 NtGdiEngLineTo(SURFOBJ *Surface,
1429 CLIPOBJ *Clip,
1430 BRUSHOBJ *Brush,
1431 LONG x1,
1432 LONG y1,
1433 LONG x2,
1434 LONG y2,
1435 RECTL *RectBounds,
1436 MIX mix)
1437 {
1438 UNIMPLEMENTED;
1439 return FALSE;
1440 }
1441
1442
1443 /*
1444 * @unimplemented
1445 */
1446 BOOL APIENTRY
1447 NtGdiEngMarkBandingSurface(HSURF hsurf)
1448 {
1449 UNIMPLEMENTED;
1450 return FALSE;
1451 }
1452
1453
1454 /*
1455 * @unimplemented
1456 */
1457 BOOL APIENTRY
1458 NtGdiEngPaint(IN SURFOBJ *Surface,
1459 IN CLIPOBJ *ClipRegion,
1460 IN BRUSHOBJ *Brush,
1461 IN POINTL *BrushOrigin,
1462 IN MIX Mix)
1463 {
1464 UNIMPLEMENTED;
1465 return FALSE;
1466 }
1467
1468 /*
1469 * @unimplemented
1470 */
1471 BOOL APIENTRY
1472 NtGdiEngPlgBlt(SURFOBJ *psoTrg,
1473 SURFOBJ *psoSrc,
1474 SURFOBJ *psoMsk,
1475 CLIPOBJ *pco,
1476 XLATEOBJ *pxlo,
1477 COLORADJUSTMENT *pca,
1478 POINTL *pptlBrushOrg,
1479 POINTFIX *pptfx,
1480 RECTL *prcl,
1481 POINTL *pptl,
1482 ULONG iMode)
1483 {
1484 UNIMPLEMENTED;
1485 return FALSE;
1486 }
1487
1488 /*
1489 * @unimplemented
1490 */
1491 BOOL APIENTRY
1492 NtGdiEngStretchBltROP(SURFOBJ *psoDest,
1493 SURFOBJ *psoSrc,
1494 SURFOBJ *psoMask,
1495 CLIPOBJ *pco,
1496 XLATEOBJ *pxlo,
1497 COLORADJUSTMENT *pca,
1498 POINTL *pptlHTOrg,
1499 RECTL *prclDest,
1500 RECTL *prclSrc,
1501 POINTL *pptlMask,
1502 ULONG iMode,
1503 BRUSHOBJ *pbo,
1504 DWORD rop4)
1505 {
1506 UNIMPLEMENTED;
1507 return FALSE;
1508 }
1509
1510 FD_GLYPHSET* APIENTRY
1511 NtGdiEngComputeGlyphSet( INT nCodePage,
1512 INT nFirstChar,
1513 INT cChars)
1514 {
1515 UNIMPLEMENTED;
1516 return NULL;
1517 }
1518
1519 /*
1520 * @unimplemented
1521 */
1522 ULONG
1523 APIENTRY
1524 NtGdiFONTOBJ_cGetAllGlyphHandles(IN FONTOBJ *FontObj,
1525 IN HGLYPH *Glyphs)
1526 {
1527 UNIMPLEMENTED;
1528 return 0;
1529 }
1530
1531
1532 /*
1533 * @unimplemented
1534 */
1535 ULONG
1536 APIENTRY
1537 NtGdiFONTOBJ_cGetGlyphs(IN FONTOBJ *FontObj,
1538 IN ULONG Mode,
1539 IN ULONG NumGlyphs,
1540 IN HGLYPH *GlyphHandles,
1541 IN PVOID *OutGlyphs)
1542 {
1543 UNIMPLEMENTED;
1544 return 0;
1545 }
1546
1547 /*
1548 * @unimplemented
1549 */
1550 BOOL
1551 APIENTRY
1552 NtGdiAddRemoteFontToDC(
1553 IN HDC hdc,
1554 IN PVOID pvBuffer,
1555 IN ULONG cjBuffer,
1556 IN OPTIONAL PUNIVERSAL_FONT_ID pufi)
1557 {
1558 UNIMPLEMENTED;
1559 return 0;
1560 }
1561
1562 /*
1563 * @unimplemented
1564 */
1565 HANDLE
1566 APIENTRY
1567 NtGdiAddFontMemResourceEx(
1568 IN PVOID pvBuffer,
1569 IN DWORD cjBuffer,
1570 IN DESIGNVECTOR *pdv,
1571 IN ULONG cjDV,
1572 OUT DWORD *pNumFonts
1573 )
1574 {
1575 UNIMPLEMENTED;
1576 return NULL;
1577 }
1578
1579
1580 /*
1581 * @unimplemented
1582 */
1583 BOOL
1584 APIENTRY
1585 NtGdiRemoveMergeFont(
1586 IN HDC hdc,
1587 IN UNIVERSAL_FONT_ID *pufi)
1588 {
1589 UNIMPLEMENTED;
1590 return FALSE;
1591 }
1592
1593 /*
1594 * @unimplemented
1595 */
1596 BOOL
1597 APIENTRY
1598 NtGdiAddRemoteMMInstanceToDC(
1599 IN HDC hdc,
1600 IN DOWNLOADDESIGNVECTOR *pddv,
1601 IN ULONG cjDDV)
1602 {
1603 UNIMPLEMENTED;
1604 return FALSE;
1605 }
1606
1607
1608 /*
1609 * @unimplemented
1610 */
1611 BOOL
1612 APIENTRY
1613 NtGdiFontIsLinked(IN HDC hdc)
1614 {
1615 UNIMPLEMENTED;
1616 return FALSE;
1617 }
1618
1619 /*
1620 * @unimplemented
1621 */
1622 BOOL
1623 APIENTRY
1624 NtGdiCheckBitmapBits(
1625 IN HDC hdc,
1626 IN HANDLE hColorTransform,
1627 IN PVOID pvBits,
1628 IN ULONG bmFormat,
1629 IN DWORD dwWidth,
1630 IN DWORD dwHeight,
1631 IN DWORD dwStride,
1632 OUT PBYTE paResults)
1633 {
1634 UNIMPLEMENTED;
1635 return FALSE;
1636 }
1637
1638 /*
1639 * @unimplemented
1640 */
1641 HBITMAP
1642 APIENTRY
1643 NtGdiClearBitmapAttributes(
1644 IN HBITMAP hbm,
1645 IN DWORD dwFlags)
1646 {
1647 UNIMPLEMENTED;
1648 return NULL;
1649 }
1650
1651
1652 /*
1653 * @unimplemented
1654 */
1655 BOOL
1656 APIENTRY
1657 NtGdiGetUFI(
1658 IN HDC hdc,
1659 OUT PUNIVERSAL_FONT_ID pufi,
1660 OUT OPTIONAL DESIGNVECTOR *pdv,
1661 OUT ULONG *pcjDV,
1662 OUT ULONG *pulBaseCheckSum,
1663 OUT FLONG *pfl)
1664 {
1665 UNIMPLEMENTED;
1666 return FALSE;
1667 }
1668
1669 /*
1670 * @unimplemented
1671 */
1672 PFD_GLYPHATTR
1673 APIENTRY
1674 NtGdiFONTOBJ_pQueryGlyphAttrs(
1675 IN FONTOBJ *pfo,
1676 IN ULONG iMode)
1677 {
1678 UNIMPLEMENTED;
1679 return NULL;
1680 }
1681
1682 /*
1683 * @unimplemented
1684 */
1685 IFIMETRICS*
1686 APIENTRY
1687 NtGdiFONTOBJ_pifi(
1688 IN FONTOBJ *pfo)
1689 {
1690 UNIMPLEMENTED;
1691 return NULL;
1692 }
1693
1694 /*
1695 * @unimplemented
1696 */
1697 FD_GLYPHSET*
1698 APIENTRY
1699 NtGdiFONTOBJ_pfdg(IN FONTOBJ *pfo)
1700 {
1701 UNIMPLEMENTED;
1702 return NULL;
1703 }
1704
1705 /*
1706 * @unimplemented
1707 */
1708 PVOID
1709 APIENTRY
1710 NtGdiFONTOBJ_pvTrueTypeFontFile(
1711 IN FONTOBJ *pfo,
1712 OUT ULONG *pcjFile
1713 )
1714 {
1715 UNIMPLEMENTED;
1716 return NULL;
1717 }
1718
1719 /*
1720 * @unimplemented
1721 */
1722 VOID
1723 APIENTRY
1724 NtGdiFONTOBJ_vGetInfo(
1725 IN FONTOBJ *pfo,
1726 IN ULONG cjSize,
1727 OUT FONTINFO *pfi)
1728 {
1729 UNIMPLEMENTED;
1730 }
1731
1732 /*
1733 * @unimplemented
1734 */
1735 XFORMOBJ*
1736 APIENTRY
1737 NtGdiFONTOBJ_pxoGetXform(IN FONTOBJ *pfo)
1738 {
1739 UNIMPLEMENTED;
1740 return NULL;
1741 }
1742
1743 /*
1744 * @unimplemented
1745 */
1746 HBRUSH
1747 APIENTRY
1748 NtGdiClearBrushAttributes(
1749 IN HBRUSH hbm,
1750 IN DWORD dwFlags)
1751 {
1752 UNIMPLEMENTED;
1753 return NULL;
1754 }
1755
1756 /*
1757 * @unimplemented
1758 */
1759 ULONG
1760 APIENTRY
1761 NtGdiColorCorrectPalette(
1762 IN HDC hdc,
1763 IN HPALETTE hpal,
1764 IN ULONG FirstEntry,
1765 IN ULONG NumberOfEntries,
1766 IN OUT PALETTEENTRY *ppalEntry,
1767 IN ULONG Command)
1768 {
1769 UNIMPLEMENTED;
1770 return 0;
1771 }
1772
1773 /*
1774 * @unimplemented
1775 */
1776 HANDLE
1777 APIENTRY
1778 NtGdiCreateColorTransform(
1779 IN HDC hdc,
1780 IN LPLOGCOLORSPACEW pLogColorSpaceW,
1781 IN OPTIONAL PVOID pvSrcProfile,
1782 IN ULONG cjSrcProfile,
1783 IN OPTIONAL PVOID pvDestProfile,
1784 IN ULONG cjDestProfile,
1785 IN OPTIONAL PVOID pvTargetProfile,
1786 IN ULONG cjTargetProfile)
1787 {
1788 UNIMPLEMENTED;
1789 return NULL;
1790 }
1791
1792 /*
1793 * @unimplemented
1794 */
1795 BOOL
1796 APIENTRY
1797 NtGdiComputeXformCoefficients(IN HDC hdc)
1798 {
1799 UNIMPLEMENTED;
1800 return FALSE;
1801 }
1802
1803
1804 /*
1805 * @unimplemented
1806 */
1807 BOOL
1808 APIENTRY
1809 NtGdiConsoleTextOut(
1810 IN HDC hdc,
1811 IN POLYTEXTW *lpto,
1812 IN UINT nStrings,
1813 IN RECTL *prclBounds)
1814 {
1815 UNIMPLEMENTED;
1816 return FALSE;
1817 }
1818
1819 /*
1820 * @unimplemented
1821 */
1822 BOOL
1823 APIENTRY
1824 NtGdiDeleteColorTransform(
1825 IN HDC hdc,
1826 IN HANDLE hColorTransform)
1827 {
1828 UNIMPLEMENTED;
1829 return FALSE;
1830 }
1831
1832 /*
1833 * @unimplemented
1834 */
1835 ULONG
1836 APIENTRY
1837 NtGdiGetPerBandInfo(
1838 IN HDC hdc,
1839 IN OUT PERBANDINFO *ppbi)
1840 {
1841 UNIMPLEMENTED;
1842 return 0;
1843 }
1844
1845 /*
1846 * @unimplemented
1847 */
1848 BOOL
1849 APIENTRY
1850 NtGdiDoBanding(
1851 IN HDC hdc,
1852 IN BOOL bStart,
1853 OUT POINTL *pptl,
1854 OUT PSIZE pSize)
1855 {
1856 UNIMPLEMENTED;
1857 return FALSE;
1858 }
1859
1860
1861 /*
1862 * @unimplemented
1863 */
1864 BOOL
1865 APIENTRY
1866 NtGdiEnumFontChunk(
1867 IN HDC hdc,
1868 IN ULONG_PTR idEnum,
1869 IN ULONG cjEfdw,
1870 OUT ULONG *pcjEfdw,
1871 OUT PENUMFONTDATAW pefdw)
1872 {
1873 UNIMPLEMENTED;
1874 return FALSE;
1875 }
1876
1877 /*
1878 * @unimplemented
1879 */
1880 BOOL
1881 APIENTRY
1882 NtGdiEnumFontClose(
1883 IN ULONG_PTR idEnum)
1884 {
1885 UNIMPLEMENTED;
1886 return FALSE;
1887 }
1888
1889 /*
1890 * @unimplemented
1891 */
1892 ULONG_PTR
1893 APIENTRY
1894 NtGdiEnumFontOpen(
1895 IN HDC hdc,
1896 IN ULONG iEnumType,
1897 IN FLONG flWin31Compat,
1898 IN ULONG cwchMax,
1899 IN OPTIONAL LPWSTR pwszFaceName,
1900 IN ULONG lfCharSet,
1901 OUT ULONG *pulCount)
1902 {
1903 UNIMPLEMENTED;
1904 return 0;
1905 }
1906
1907 /*
1908 * @unimplemented
1909 */
1910 BOOL
1911 APIENTRY
1912 NtGdiEudcLoadUnloadLink(
1913 IN OPTIONAL LPCWSTR pBaseFaceName,
1914 IN UINT cwcBaseFaceName,
1915 IN LPCWSTR pEudcFontPath,
1916 IN UINT cwcEudcFontPath,
1917 IN INT iPriority,
1918 IN INT iFontLinkType,
1919 IN BOOL bLoadLin)
1920 {
1921 UNIMPLEMENTED;
1922 return FALSE;
1923 }
1924
1925 /*
1926 * @unimplemented
1927 */
1928 BOOL
1929 APIENTRY
1930 NtGdiForceUFIMapping(
1931 IN HDC hdc,
1932 IN PUNIVERSAL_FONT_ID pufi)
1933 {
1934 UNIMPLEMENTED;
1935 return FALSE;
1936 }
1937
1938 /*
1939 * @unimplemented
1940 */
1941 NTSTATUS
1942 APIENTRY
1943 NtGdiFullscreenControl(
1944 IN FULLSCREENCONTROL FullscreenCommand,
1945 IN PVOID FullscreenInput,
1946 IN DWORD FullscreenInputLength,
1947 OUT PVOID FullscreenOutput,
1948 IN OUT PULONG FullscreenOutputLength)
1949 {
1950 UNIMPLEMENTED;
1951 return FALSE;
1952 }
1953
1954 /*
1955 * @unimplemented
1956 */
1957 DWORD
1958 APIENTRY
1959 NtGdiGetCharacterPlacementW(
1960 IN HDC hdc,
1961 IN LPWSTR pwsz,
1962 IN INT nCount,
1963 IN INT nMaxExtent,
1964 IN OUT LPGCP_RESULTSW pgcpw,
1965 IN DWORD dwFlags)
1966 {
1967 UNIMPLEMENTED;
1968 return 0;
1969 }
1970
1971 /*
1972 * @unimplemented
1973 */
1974 BOOL
1975 APIENTRY
1976 NtGdiGetCharWidthInfo(
1977 IN HDC hdc,
1978 OUT PCHWIDTHINFO pChWidthInfo)
1979 {
1980 UNIMPLEMENTED;
1981 return FALSE;
1982 }
1983
1984 /*
1985 * @unimplemented
1986 */
1987 ULONG_PTR
1988 APIENTRY
1989 NtGdiGetColorSpaceforBitmap(
1990 IN HBITMAP hsurf)
1991 {
1992 UNIMPLEMENTED;
1993 return 0;
1994 }
1995
1996 /*
1997 * @unimplemented
1998 */
1999 BOOL
2000 APIENTRY
2001 NtGdiGetETM(
2002 IN HDC hdc,
2003 OUT EXTTEXTMETRIC *petm)
2004 {
2005 UNIMPLEMENTED;
2006 return FALSE;
2007 }
2008
2009 /*
2010 * @unimplemented
2011 */
2012 ULONG
2013 APIENTRY
2014 NtGdiGetEudcTimeStampEx(
2015 IN OPTIONAL LPWSTR lpBaseFaceName,
2016 IN ULONG cwcBaseFaceName,
2017 IN BOOL bSystemTimeStamp)
2018 {
2019 UNIMPLEMENTED;
2020 return 0;
2021 }
2022
2023
2024 /*
2025 * @unimplemented
2026 */
2027 BOOL
2028 APIENTRY
2029 NtGdiInitSpool()
2030 {
2031 UNIMPLEMENTED;
2032 return FALSE;
2033 }
2034
2035
2036 /*
2037 * @unimplemented
2038 */
2039 INT
2040 APIENTRY
2041 NtGdiQueryFonts( OUT PUNIVERSAL_FONT_ID pufiFontList,
2042 IN ULONG nBufferSize,
2043 OUT PLARGE_INTEGER pTimeStamp)
2044 {
2045 UNIMPLEMENTED;
2046 return 0;
2047 }
2048
2049 /*
2050 * @unimplemented
2051 */
2052 INT
2053 APIENTRY
2054 NtGdiGetSpoolMessage( DWORD u1,
2055 DWORD u2,
2056 DWORD u3,
2057 DWORD u4)
2058 {
2059 /* FIXME the prototypes */
2060 UNIMPLEMENTED;
2061 return 0;
2062 }
2063
2064 /*
2065 * @unimplemented
2066 */
2067 DWORD
2068 APIENTRY
2069 NtGdiGetGlyphIndicesWInternal(
2070 IN HDC hdc,
2071 IN OPTIONAL LPWSTR pwc,
2072 IN INT cwc,
2073 OUT OPTIONAL LPWORD pgi,
2074 IN DWORD iMode,
2075 IN BOOL bSubset)
2076 {
2077 UNIMPLEMENTED;
2078 return 0;
2079 }
2080
2081 /*
2082 * @unimplemented
2083 */
2084 INT
2085 APIENTRY
2086 NtGdiGetLinkedUFIs(
2087 IN HDC hdc,
2088 OUT OPTIONAL PUNIVERSAL_FONT_ID pufiLinkedUFIs,
2089 IN INT BufferSize)
2090 {
2091 UNIMPLEMENTED;
2092 return 0;
2093 }
2094
2095
2096 /*
2097 * @unimplemented
2098 */
2099 HBITMAP
2100 APIENTRY
2101 NtGdiGetObjectBitmapHandle(
2102 IN HBRUSH hbr,
2103 OUT UINT *piUsage)
2104 {
2105 UNIMPLEMENTED;
2106 return 0;
2107 }
2108
2109 /*
2110 * @unimplemented
2111 */
2112 BOOL
2113 APIENTRY
2114 NtGdiGetMonitorID(
2115 IN HDC hdc,
2116 IN DWORD dwSize,
2117 OUT LPWSTR pszMonitorID)
2118 {
2119 UNIMPLEMENTED;
2120 return FALSE;
2121 }
2122
2123 /*
2124 * @unimplemented
2125 */
2126 BOOL
2127 APIENTRY
2128 NtGdiDrawStream(
2129 IN HDC hdcDst,
2130 IN ULONG cjIn,
2131 IN VOID *pvIn)
2132 {
2133 UNIMPLEMENTED;
2134 return FALSE;
2135 }
2136
2137
2138 /*
2139 * @unimplemented
2140 */
2141 BOOL
2142 NtGdiUMPDEngFreeUserMem(
2143 IN KERNEL_PVOID *ppv)
2144 {
2145 UNIMPLEMENTED;
2146 return FALSE;
2147 }
2148
2149 /*
2150 * @unimplemented
2151 */
2152 BOOL
2153 NtGdiBRUSHOBJ_DeleteRbrush(
2154 IN BRUSHOBJ *pbo,
2155 IN BRUSHOBJ *pboB)
2156 {
2157 UNIMPLEMENTED;
2158 return FALSE;
2159 }
2160
2161 /*
2162 * @unimplemented
2163 */
2164 BOOL
2165 NtGdiSetPUMPDOBJ(
2166 IN HUMPD humpd,
2167 IN BOOL bStoreID,
2168 OUT HUMPD *phumpd,
2169 OUT BOOL *pbWOW64)
2170 {
2171 UNIMPLEMENTED;
2172 return FALSE;
2173 }
2174
2175 /*
2176 * @unimplemented
2177 */
2178 BOOL
2179 NtGdiUpdateTransform(IN HDC hdc)
2180 {
2181 UNIMPLEMENTED;
2182 return FALSE;
2183 }
2184
2185 /*
2186 * @unimplemented
2187 */
2188 LONG
2189 APIENTRY
2190 NtGdiHT_Get8BPPMaskPalette(
2191 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
2192 IN BOOL Use8BPPMaskPal,
2193 IN BYTE CMYMask,
2194 IN USHORT RedGamma,
2195 IN USHORT GreenGamma,
2196 IN USHORT BlueGamma)
2197 {
2198 UNIMPLEMENTED;
2199 return FALSE;
2200 }
2201
2202 /*
2203 * @unimplemented
2204 */
2205 LONG
2206 APIENTRY
2207 NtGdiHT_Get8BPPFormatPalette(
2208 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
2209 IN USHORT RedGamma,
2210 IN USHORT GreenGamma,
2211 IN USHORT BlueGamma)
2212 {
2213 UNIMPLEMENTED;
2214 return FALSE;
2215 }
2216
2217 /*
2218 * @unimplemented
2219 */
2220 ULONG
2221 APIENTRY
2222 NtGdiQueryFontAssocInfo(
2223 IN HDC hdc)
2224 {
2225 UNIMPLEMENTED;
2226 return 0;
2227 }
2228
2229 /*
2230 * @unimplemented
2231 */
2232 UINT
2233 APIENTRY
2234 NtGdiGetStringBitmapW(
2235 IN HDC hdc,
2236 IN LPWSTR pwsz,
2237 IN UINT cwc,
2238 OUT BYTE *lpSB,
2239 IN UINT cj)
2240 {
2241 UNIMPLEMENTED;
2242 return 0;
2243 }
2244
2245 /*
2246 * @unimplemented
2247 */
2248 BOOL
2249 APIENTRY
2250 NtGdiPATHOBJ_bEnum(
2251 IN PATHOBJ *ppo,
2252 OUT PATHDATA *ppd)
2253 {
2254 UNIMPLEMENTED;
2255 return FALSE;
2256 }
2257
2258 /*
2259 * @unimplemented
2260 */
2261 BOOL
2262 APIENTRY
2263 NtGdiPATHOBJ_bEnumClipLines(
2264 IN PATHOBJ *ppo,
2265 IN ULONG cb,
2266 OUT CLIPLINE *pcl)
2267 {
2268 UNIMPLEMENTED;
2269 return FALSE;
2270 }
2271
2272 /*
2273 * @unimplemented
2274 */
2275 VOID
2276 APIENTRY
2277 NtGdiPATHOBJ_vGetBounds(
2278 IN PATHOBJ *ppo,
2279 OUT PRECTFX prectfx)
2280 {
2281 UNIMPLEMENTED;
2282 }
2283
2284
2285
2286 /*
2287 * @unimplemented
2288 */
2289 VOID
2290 APIENTRY
2291 NtGdiPATHOBJ_vEnumStart(
2292 IN PATHOBJ *ppo)
2293 {
2294 UNIMPLEMENTED;
2295 }
2296
2297 /*
2298 * @unimplemented
2299 */
2300 VOID
2301 APIENTRY
2302 NtGdiPATHOBJ_vEnumStartClipLines(
2303 IN PATHOBJ *ppo,
2304 IN CLIPOBJ *pco,
2305 IN SURFOBJ *pso,
2306 IN LINEATTRS *pla)
2307 {
2308 UNIMPLEMENTED;
2309 }
2310
2311
2312 /*
2313 * @unimplemented
2314 */
2315 BOOL
2316 APIENTRY
2317 NtGdiRemoveFontMemResourceEx(
2318 IN HANDLE hMMFont)
2319 {
2320 UNIMPLEMENTED;
2321 return FALSE;
2322 }
2323
2324
2325 /*
2326 * @unimplemented
2327 */
2328 BOOL
2329 APIENTRY
2330 NtGdiRemoveFontResourceW(
2331 IN WCHAR *pwszFiles,
2332 IN ULONG cwc,
2333 IN ULONG cFiles,
2334 IN ULONG fl,
2335 IN DWORD dwPidTid,
2336 IN OPTIONAL DESIGNVECTOR *pdv)
2337 {
2338 UNIMPLEMENTED;
2339 return FALSE;
2340 }
2341
2342 /*
2343 * @unimplemented
2344 */
2345 BOOL
2346 APIENTRY
2347 NtGdiPolyTextOutW(
2348 IN HDC hdc,
2349 IN POLYTEXTW *pptw,
2350 IN UINT cStr,
2351 IN DWORD dwCodePage)
2352 {
2353 UNIMPLEMENTED;
2354 return FALSE;
2355 }
2356
2357 /*
2358 * @unimplemented
2359 */
2360 NTSTATUS
2361 APIENTRY
2362 NtGdiGetStats(
2363 IN HANDLE hProcess,
2364 IN INT iIndex,
2365 IN INT iPidType,
2366 OUT PVOID pResults,
2367 IN UINT cjResultSize)
2368 {
2369 UNIMPLEMENTED;
2370 return STATUS_NOT_IMPLEMENTED;
2371 }
2372
2373
2374 /*
2375 * @unimplemented
2376 */
2377 ULONG
2378 APIENTRY
2379 NtGdiXLATEOBJ_cGetPalette(
2380 IN XLATEOBJ *pxlo,
2381 IN ULONG iPal,
2382 IN ULONG cPal,
2383 OUT ULONG *pPal)
2384 {
2385 UNIMPLEMENTED;
2386 return 0;
2387 }
2388
2389 /*
2390 * @unimplemented
2391 */
2392 ULONG
2393 APIENTRY
2394 NtGdiXLATEOBJ_iXlate(
2395 IN XLATEOBJ *pxlo,
2396 IN ULONG iColor)
2397 {
2398 UNIMPLEMENTED;
2399 return 0;
2400 }
2401
2402 /*
2403 * @unimplemented
2404 */
2405 HANDLE
2406 APIENTRY
2407 NtGdiXLATEOBJ_hGetColorTransform(
2408 IN XLATEOBJ *pxlo)
2409 {
2410 UNIMPLEMENTED;
2411 return 0;
2412 }
2413
2414 /*
2415 * @unimplemented
2416 */
2417 BOOL
2418 APIENTRY
2419 NtGdiXFORMOBJ_bApplyXform(
2420 IN XFORMOBJ *pxo,
2421 IN ULONG iMode,
2422 IN ULONG cPoints,
2423 IN PVOID pvIn,
2424 OUT PVOID pvOut)
2425 {
2426 UNIMPLEMENTED;
2427 return FALSE;
2428 }
2429
2430 /*
2431 * @unimplemented
2432 */
2433 ULONG
2434 APIENTRY
2435 NtGdiXFORMOBJ_iGetXform(
2436 IN XFORMOBJ *pxo,
2437 OUT OPTIONAL XFORML *pxform)
2438 {
2439 UNIMPLEMENTED;
2440 return 0;
2441 }
2442
2443 /*
2444 * @unimplemented
2445 */
2446 INT
2447 APIENTRY
2448 NtGdiSetupPublicCFONT(
2449 IN HDC hdc,
2450 IN OPTIONAL HFONT hf,
2451 IN ULONG ulAve)
2452 {
2453 UNIMPLEMENTED;
2454 return 0;
2455 }
2456
2457 /*
2458 * @unimplemented
2459 */
2460 HBRUSH
2461 APIENTRY
2462 NtGdiSetBrushAttributes(
2463 IN HBRUSH hbm,
2464 IN DWORD dwFlags)
2465 {
2466 UNIMPLEMENTED;
2467 return NULL;
2468 }
2469
2470 /*
2471 * @unimplemented
2472 */
2473 BOOL
2474 APIENTRY
2475 NtGdiSTROBJ_bEnum(
2476 IN STROBJ *pstro,
2477 OUT ULONG *pc,
2478 OUT PGLYPHPOS *ppgpos)
2479 {
2480 UNIMPLEMENTED;
2481 return FALSE;
2482 }
2483
2484 /*
2485 * @unimplemented
2486 */
2487 BOOL
2488 APIENTRY
2489 NtGdiSTROBJ_bEnumPositionsOnly(
2490 IN STROBJ *pstro,
2491 OUT ULONG *pc,
2492 OUT PGLYPHPOS *ppgpos)
2493 {
2494 UNIMPLEMENTED;
2495 return FALSE;
2496 }
2497
2498 /*
2499 * @unimplemented
2500 */
2501 BOOL
2502 APIENTRY
2503 NtGdiSTROBJ_bGetAdvanceWidths(
2504 IN STROBJ*pstro,
2505 IN ULONG iFirst,
2506 IN ULONG c,
2507 OUT POINTQF*pptqD)
2508 {
2509 UNIMPLEMENTED;
2510 return FALSE;
2511 }
2512
2513 /*
2514 * @unimplemented
2515 */
2516 VOID
2517 APIENTRY
2518 NtGdiSTROBJ_vEnumStart(
2519 IN STROBJ *pstro)
2520 {
2521 UNIMPLEMENTED;
2522 }
2523
2524 /*
2525 * @unimplemented
2526 */
2527 DWORD
2528 APIENTRY
2529 NtGdiSTROBJ_dwGetCodePage(
2530 IN STROBJ *pstro)
2531 {
2532 UNIMPLEMENTED;
2533 return 0;
2534 }
2535
2536 /*
2537 * @unimplemented
2538 */
2539 BOOL
2540 APIENTRY
2541 NtGdiGetEmbUFI(
2542 IN HDC hdc,
2543 OUT PUNIVERSAL_FONT_ID pufi,
2544 OUT OPTIONAL DESIGNVECTOR *pdv,
2545 OUT ULONG *pcjDV,
2546 OUT ULONG *pulBaseCheckSum,
2547 OUT FLONG *pfl,
2548 OUT KERNEL_PVOID *embFontID)
2549 {
2550 UNIMPLEMENTED;
2551 return FALSE;
2552 }
2553
2554 /*
2555 * @unimplemented
2556 */
2557 BOOL
2558 APIENTRY
2559 NtGdiGetUFIPathname(
2560 IN PUNIVERSAL_FONT_ID pufi,
2561 OUT OPTIONAL ULONG* pcwc,
2562 OUT OPTIONAL LPWSTR pwszPathname,
2563 OUT OPTIONAL ULONG* pcNumFiles,
2564 IN FLONG fl,
2565 OUT OPTIONAL BOOL *pbMemFont,
2566 OUT OPTIONAL ULONG *pcjView,
2567 OUT OPTIONAL PVOID pvView,
2568 OUT OPTIONAL BOOL *pbTTC,
2569 OUT OPTIONAL ULONG *piTTC)
2570 {
2571 UNIMPLEMENTED;
2572 return FALSE;
2573 }
2574
2575 /*
2576 * @unimplemented
2577 */
2578 ULONG
2579 APIENTRY
2580 NtGdiGetEmbedFonts(
2581 VOID)
2582 {
2583 UNIMPLEMENTED;
2584 return 0;
2585 }
2586
2587 /*
2588 * @unimplemented
2589 */
2590 BOOL
2591 APIENTRY
2592 NtGdiChangeGhostFont(
2593 IN KERNEL_PVOID *pfontID,
2594 IN BOOL bLoad)
2595 {
2596 UNIMPLEMENTED;
2597 return FALSE;
2598 }
2599
2600 /*
2601 * @unimplemented
2602 */
2603 BOOL
2604 APIENTRY
2605 NtGdiAddEmbFontToDC(
2606 IN HDC hdc,
2607 IN VOID **pFontID)
2608 {
2609 UNIMPLEMENTED;
2610 return FALSE;
2611 }
2612
2613 /*
2614 * @unimplemented
2615 */
2616 BOOL
2617 APIENTRY
2618 NtGdiGetWidthTable(
2619 IN HDC hdc,
2620 IN ULONG cSpecial,
2621 IN WCHAR *pwc,
2622 IN ULONG cwc,
2623 OUT USHORT *psWidth,
2624 OUT OPTIONAL WIDTHDATA *pwd,
2625 OUT FLONG *pflInfo)
2626 {
2627 UNIMPLEMENTED;
2628 return FALSE;
2629 }
2630
2631
2632 /*
2633 * @unimplemented
2634 */
2635 BOOL
2636 APIENTRY
2637 NtGdiIcmBrushInfo(
2638 IN HDC hdc,
2639 IN HBRUSH hbrush,
2640 IN OUT PBITMAPINFO pbmiDIB,
2641 IN OUT PVOID pvBits,
2642 IN OUT ULONG *pulBits,
2643 OUT OPTIONAL DWORD *piUsage,
2644 OUT OPTIONAL BOOL *pbAlreadyTran,
2645 IN ULONG Command)
2646 {
2647 UNIMPLEMENTED;
2648 return FALSE;
2649 }
2650
2651 /*
2652 * @implemented
2653 */
2654 BOOL
2655 APIENTRY
2656 NtGdiInit()
2657 {
2658 return TRUE;
2659 }
2660
2661 /*
2662 * @unimplemented
2663 */
2664 ULONG
2665 APIENTRY
2666 NtGdiMakeFontDir(
2667 IN FLONG flEmbed,
2668 OUT PBYTE pjFontDir,
2669 IN unsigned cjFontDir,
2670 IN LPWSTR pwszPathname,
2671 IN unsigned cjPathname)
2672 {
2673 UNIMPLEMENTED;
2674 return 0;
2675 }
2676
2677 /*
2678 * @unimplemented
2679 */
2680 BOOL
2681 APIENTRY
2682 NtGdiMonoBitmap(
2683 IN HBITMAP hbm)
2684 {
2685 UNIMPLEMENTED;
2686 return FALSE;
2687 }
2688
2689 /*
2690 * @unimplemented
2691 */
2692 HBITMAP
2693 APIENTRY
2694 NtGdiSetBitmapAttributes(
2695 IN HBITMAP hbm,
2696 IN DWORD dwFlags)
2697 {
2698 UNIMPLEMENTED;
2699 return NULL;
2700 }
2701
2702 /*
2703 * @unimplemented
2704 */
2705 ULONG
2706 APIENTRY
2707 NtGdiSetFontEnumeration(
2708 IN ULONG ulType)
2709 {
2710 UNIMPLEMENTED;
2711 return 0;
2712 }
2713
2714 /*
2715 * @unimplemented
2716 */
2717 BOOL
2718 APIENTRY
2719 NtGdiSetFontXform(
2720 IN HDC hdc,
2721 IN DWORD dwxScale,
2722 IN DWORD dwyScale)
2723 {
2724 UNIMPLEMENTED;
2725 return FALSE;
2726 }
2727
2728 /*
2729 * @unimplemented
2730 */
2731 BOOL
2732 APIENTRY
2733 NtGdiSetLinkedUFIs(
2734 IN HDC hdc,
2735 IN PUNIVERSAL_FONT_ID pufiLinks,
2736 IN ULONG uNumUFIs)
2737 {
2738 UNIMPLEMENTED;
2739 return FALSE;
2740 }
2741
2742 /*
2743 * @unimplemented
2744 */
2745 BOOL
2746 APIENTRY
2747 NtGdiSetMagicColors(
2748 IN HDC hdc,
2749 IN PALETTEENTRY peMagic,
2750 IN ULONG Index)
2751 {
2752 UNIMPLEMENTED;
2753 return FALSE;
2754 }
2755
2756 /*
2757 * @unimplemented
2758 */
2759 BOOL
2760 APIENTRY
2761 NtGdiUnloadPrinterDriver(
2762 IN LPWSTR pDriverName,
2763 IN ULONG cbDriverName)
2764 {
2765 UNIMPLEMENTED;
2766 return FALSE;
2767 }
2768
2769 /*
2770 * @implemented
2771 */
2772 BOOL
2773 APIENTRY
2774 NtGdiUnmapMemFont(
2775 IN PVOID pvView)
2776 {
2777 return TRUE;
2778 }
2779
2780 BOOL
2781 APIENTRY
2782 EngControlSprites(
2783 IN WNDOBJ *pwo,
2784 IN FLONG fl)
2785 {
2786 UNIMPLEMENTED;
2787 return FALSE;
2788 }
2789
2790 PVOID
2791 APIENTRY
2792 EngFntCacheAlloc(IN ULONG FastCheckSum,
2793 IN ULONG ulSize)
2794 {
2795 UNIMPLEMENTED;
2796 return NULL;
2797 }
2798
2799 VOID
2800 APIENTRY
2801 EngFntCacheFault(IN ULONG ulFastCheckSum,
2802 IN ULONG iFaultMode)
2803 {
2804 UNIMPLEMENTED;
2805 }
2806
2807 PVOID
2808 APIENTRY
2809 EngFntCacheLookUp(IN ULONG FastCheckSum,
2810 OUT PULONG pulSize)
2811 {
2812 UNIMPLEMENTED;
2813 return NULL;
2814 }
2815
2816 VOID
2817 APIENTRY
2818 FLOATOBJ_AddFloatObj(PFLOATOBJ pFloatObj1,
2819 PFLOATOBJ pFloatObj2)
2820 {
2821 UNIMPLEMENTED;
2822 }
2823
2824 VOID
2825 APIENTRY
2826 FLOATOBJ_DivFloatObj(PFLOATOBJ pFloatObj1,
2827 PFLOATOBJ pFloatObj2)
2828 {
2829 UNIMPLEMENTED;
2830 }
2831
2832 VOID
2833 APIENTRY
2834 FLOATOBJ_MulFloatObj(PFLOATOBJ pFloatObj1,
2835 PFLOATOBJ pFloatObj2)
2836 {
2837 UNIMPLEMENTED;
2838 }
2839
2840 VOID
2841 APIENTRY
2842 FLOATOBJ_SubFloatObj(PFLOATOBJ pFloatObj1,
2843 PFLOATOBJ pFloatObj2)
2844 {
2845 UNIMPLEMENTED;
2846 }
2847
2848 PVOID
2849 APIENTRY
2850 EngAllocSectionMem(IN PVOID SectionObject,
2851 IN ULONG Flags,
2852 IN SIZE_T MemSize,
2853 IN ULONG Tag)
2854 {
2855 UNIMPLEMENTED;
2856 return NULL;
2857 }
2858
2859 NTSTATUS
2860 APIENTRY
2861 EngFileIoControl(IN PFILE_OBJECT FileObject,
2862 IN ULONG IoControlCode,
2863 IN PVOID InputBuffer,
2864 IN SIZE_T InputBufferLength,
2865 OUT PVOID OutputBuffer,
2866 IN SIZE_T OutputBufferLength,
2867 OUT PULONG Information)
2868 {
2869 UNIMPLEMENTED;
2870 return STATUS_NOT_IMPLEMENTED;
2871 }
2872
2873 VOID
2874 APIENTRY
2875 EngFileWrite(IN PFILE_OBJECT FileObject,
2876 IN PVOID Buffer,
2877 IN SIZE_T Length,
2878 IN PSIZE_T BytesWritten)
2879 {
2880 UNIMPLEMENTED;
2881 }
2882
2883 BOOLEAN
2884 APIENTRY
2885 EngFreeSectionMem(IN PVOID SectionObject OPTIONAL,
2886 IN PVOID MappedBase)
2887 {
2888 UNIMPLEMENTED;
2889 return FALSE;
2890 }
2891
2892 ULONGLONG
2893 APIENTRY
2894 EngGetTickCount(VOID)
2895 {
2896 ULONG Multiplier;
2897 LARGE_INTEGER TickCount;
2898
2899 /* Get the multiplier and current tick count */
2900 KeQueryTickCount(&TickCount);
2901 Multiplier = SharedUserData->TickCountMultiplier;
2902
2903 /* Convert to milliseconds and return */
2904 return (Int64ShrlMod32(UInt32x32To64(Multiplier, TickCount.LowPart), 24) +
2905 (Multiplier * (TickCount.HighPart << 8)));
2906 }
2907
2908 BOOLEAN
2909 APIENTRY
2910 EngMapSection(IN PVOID Section,
2911 IN BOOLEAN Map,
2912 IN HANDLE Process,
2913 IN PVOID* BaseAddress)
2914 {
2915 UNIMPLEMENTED;
2916 return FALSE;
2917 }
2918
2919 BOOLEAN
2920 APIENTRY
2921 EngNineGrid(IN SURFOBJ* pDestSurfaceObj,
2922 IN SURFOBJ* pSourceSurfaceObj,
2923 IN CLIPOBJ* pClipObj,
2924 IN XLATEOBJ* pXlateObj,
2925 IN RECTL* prclSource,
2926 IN RECTL* prclDest,
2927 PVOID pvUnknown1,
2928 PVOID pvUnknown2,
2929 DWORD dwReserved)
2930 {
2931 UNIMPLEMENTED;
2932 return FALSE;
2933 }