1 /*
2 * Stubs for unimplemented WIN32K.SYS exports
3 */
4
5 #include <win32k.h>
6 #undef XFORMOBJ
7
8 #define UNIMPLEMENTED DbgPrint("(%s:%i) WIN32K: %s UNIMPLEMENTED\n", __FILE__, __LINE__, __FUNCTION__ )
9
10
11 /*
12 * @unimplemented
13 */
14 BOOL
15 APIENTRY
EngTextOut(SURFOBJ * pso,STROBJ * pstro,FONTOBJ * pfo,CLIPOBJ * pco,RECTL * prclExtra,RECTL * prclOpaque,BRUSHOBJ * pboFore,BRUSHOBJ * pboOpaque,POINTL * pptlOrg,MIX mix)16 EngTextOut(
17 SURFOBJ *pso,
18 STROBJ *pstro,
19 FONTOBJ *pfo,
20 CLIPOBJ *pco,
21 RECTL *prclExtra,
22 RECTL *prclOpaque,
23 BRUSHOBJ *pboFore,
24 BRUSHOBJ *pboOpaque,
25 POINTL *pptlOrg,
26 MIX mix)
27 {
28 // www.osr.com/ddk/graphics/gdifncs_4tgn.htm
29 UNIMPLEMENTED;
30 return FALSE;
31 }
32
33 /*
34 * @unimplemented
35 */
36 PATHOBJ*
37 APIENTRY
CLIPOBJ_ppoGetPath(IN CLIPOBJ * pco)38 CLIPOBJ_ppoGetPath(IN CLIPOBJ *pco)
39 {
40 // www.osr.com/ddk/graphics/gdifncs_6hbb.htm
41 UNIMPLEMENTED;
42 return 0;
43 }
44
45 /*
46 * @unimplemented
47 */
48 BOOL
49 APIENTRY
EngCheckAbort(IN SURFOBJ * pso)50 EngCheckAbort(IN SURFOBJ *pso)
51 {
52 // www.osr.com/ddk/graphics/gdifncs_3u7b.htm
53 UNIMPLEMENTED;
54 return FALSE;
55 }
56
57 /*
58 * @unimplemented
59 */
60 FD_GLYPHSET*
61 APIENTRY
EngComputeGlyphSet(IN INT nCodePage,IN INT nFirstChar,IN INT cChars)62 EngComputeGlyphSet(
63 IN INT nCodePage,
64 IN INT nFirstChar,
65 IN INT cChars)
66 {
67 // www.osr.com/ddk/graphics/gdifncs_9607.htm
68 UNIMPLEMENTED;
69 return NULL;
70 }
71
72 /*
73 * @implemented
74 */
75 BOOL
76 APIENTRY
EngEnumForms(IN HANDLE hPrinter,IN DWORD Level,OUT LPBYTE pForm,IN DWORD cbBuf,OUT LPDWORD pcbNeeded,OUT LPDWORD pcReturned)77 EngEnumForms(
78 IN HANDLE hPrinter,
79 IN DWORD Level,
80 OUT LPBYTE pForm,
81 IN DWORD cbBuf,
82 OUT LPDWORD pcbNeeded,
83 OUT LPDWORD pcReturned)
84 {
85 // www.osr.com/ddk/graphics/gdifncs_5e07.htm
86 EngSetLastError(ERROR_NOT_SUPPORTED);
87 return FALSE;
88 }
89
90 /*
91 * @unimplemented
92 */
93 BOOL
94 APIENTRY
EngFillPath(IN SURFOBJ * pso,IN PATHOBJ * ppo,IN CLIPOBJ * pco,IN BRUSHOBJ * pbo,IN POINTL * pptlBrushOrg,IN MIX mix,IN FLONG flOptions)95 EngFillPath(
96 IN SURFOBJ *pso,
97 IN PATHOBJ *ppo,
98 IN CLIPOBJ *pco,
99 IN BRUSHOBJ *pbo,
100 IN POINTL *pptlBrushOrg,
101 IN MIX mix,
102 IN FLONG flOptions)
103 {
104 // www.osr.com/ddk/graphics/gdifncs_9pyf.htm
105 UNIMPLEMENTED;
106 return FALSE;
107 }
108
109 /*
110 * @unimplemented
111 */
112 PVOID
113 APIENTRY
EngFindResource(IN HANDLE h,IN int iName,IN int iType,OUT PULONG pulSize)114 EngFindResource(
115 IN HANDLE h,
116 IN int iName,
117 IN int iType,
118 OUT PULONG pulSize)
119 {
120 // www.osr.com/ddk/graphics/gdifncs_7rjb.htm
121 UNIMPLEMENTED;
122 return NULL;
123 }
124
125 /*
126 * @unimplemented
127 */
128 BOOL
129 APIENTRY
EngGetFileChangeTime(IN HANDLE h,OUT LARGE_INTEGER * pChangeTime)130 EngGetFileChangeTime(
131 IN HANDLE h,
132 OUT LARGE_INTEGER *pChangeTime)
133 {
134 // www.osr.com/ddk/graphics/gdifncs_1i1z.htm
135 UNIMPLEMENTED;
136 return FALSE;
137 }
138
139 /*
140 * @unimplemented
141 */
142 BOOL
143 APIENTRY
EngGetFilePath(IN HANDLE h,OUT WCHAR (* pDest)[MAX_PATH+1])144 EngGetFilePath(
145 IN HANDLE h,
146 OUT WCHAR (*pDest)[MAX_PATH + 1])
147 {
148 // www.osr.com/ddk/graphics/gdifncs_5g2v.htm
149 UNIMPLEMENTED;
150 return FALSE;
151 }
152
153 /*
154 * @implemented
155 */
156 BOOL
157 APIENTRY
EngGetForm(IN HANDLE hPrinter,IN LPWSTR pFormName,IN DWORD Level,OUT LPBYTE pForm,IN DWORD cbBuf,OUT LPDWORD pcbNeeded)158 EngGetForm(
159 IN HANDLE hPrinter,
160 IN LPWSTR pFormName,
161 IN DWORD Level,
162 OUT LPBYTE pForm,
163 IN DWORD cbBuf,
164 OUT LPDWORD pcbNeeded)
165 {
166 // www.osr.com/ddk/graphics/gdifncs_5vvr.htm
167 EngSetLastError(ERROR_NOT_SUPPORTED);
168 return FALSE;
169 }
170
171 /*
172 * @implemented
173 */
174 BOOL
175 APIENTRY
EngGetPrinter(IN HANDLE hPrinter,IN DWORD dwLevel,OUT LPBYTE pPrinter,IN DWORD cbBuf,OUT LPDWORD pcbNeeded)176 EngGetPrinter(
177 IN HANDLE hPrinter,
178 IN DWORD dwLevel,
179 OUT LPBYTE pPrinter,
180 IN DWORD cbBuf,
181 OUT LPDWORD pcbNeeded)
182 {
183 // www.osr.com/ddk/graphics/gdifncs_50h3.htm
184 EngSetLastError(ERROR_NOT_SUPPORTED);
185 return FALSE;
186 }
187
188 /*
189 * @implemented
190 */
191 DWORD
192 APIENTRY
EngGetPrinterData(IN HANDLE hPrinter,IN LPWSTR pValueName,OUT LPDWORD pType,OUT LPBYTE pData,IN DWORD nSize,OUT LPDWORD pcbNeeded)193 EngGetPrinterData(
194 IN HANDLE hPrinter,
195 IN LPWSTR pValueName,
196 OUT LPDWORD pType,
197 OUT LPBYTE pData,
198 IN DWORD nSize,
199 OUT LPDWORD pcbNeeded)
200 {
201 // www.osr.com/ddk/graphics/gdifncs_8t5z.htm
202 EngSetLastError(ERROR_NOT_SUPPORTED);
203 return 0;
204 }
205
206 /*
207 * @unimplemented
208 */
209 LPWSTR
210 APIENTRY
EngGetPrinterDataFileName(IN HDEV hdev)211 EngGetPrinterDataFileName(IN HDEV hdev)
212 {
213 // www.osr.com/ddk/graphics/gdifncs_2giv.htm
214 UNIMPLEMENTED;
215 return NULL;
216 }
217
218 /*
219 * @implemented
220 */
221 BOOL
222 APIENTRY
EngGetType1FontList(IN HDEV hdev,OUT TYPE1_FONT * pType1Buffer,IN ULONG cjType1Buffer,OUT PULONG pulLocalFonts,OUT PULONG pulRemoteFonts,OUT LARGE_INTEGER * pLastModified)223 EngGetType1FontList(
224 IN HDEV hdev,
225 OUT TYPE1_FONT *pType1Buffer,
226 IN ULONG cjType1Buffer,
227 OUT PULONG pulLocalFonts,
228 OUT PULONG pulRemoteFonts,
229 OUT LARGE_INTEGER *pLastModified)
230 {
231 // www.osr.com/ddk/graphics/gdifncs_6e5j.htm
232 EngSetLastError(ERROR_NOT_SUPPORTED);
233 return FALSE;
234 }
235
236 /*
237 * @unimplemented
238 */
239 BOOL
240 APIENTRY
EngMarkBandingSurface(IN HSURF hsurf)241 EngMarkBandingSurface(IN HSURF hsurf)
242 {
243 // www.osr.com/ddk/graphics/gdifncs_2jon.htm
244 UNIMPLEMENTED;
245 return FALSE;
246 }
247
248 INT
249 APIENTRY
EngMultiByteToWideChar(IN UINT CodePage,OUT LPWSTR WideCharString,IN INT BytesInWideCharString,IN LPSTR MultiByteString,IN INT BytesInMultiByteString)250 EngMultiByteToWideChar(
251 IN UINT CodePage,
252 OUT LPWSTR WideCharString,
253 IN INT BytesInWideCharString,
254 IN LPSTR MultiByteString,
255 IN INT BytesInMultiByteString)
256 {
257 // www.osr.com/ddk/graphics/gdifncs_32cn.htm
258 UNIMPLEMENTED;
259 return 0;
260 }
261
262 VOID
263 APIENTRY
EngQueryLocalTime(_Out_ PENG_TIME_FIELDS ptf)264 EngQueryLocalTime(
265 _Out_ PENG_TIME_FIELDS ptf)
266 {
267 LARGE_INTEGER liSystemTime, liLocalTime;
268 NT_ASSERT(ptf != NULL);
269
270 /* Query the system time */
271 KeQuerySystemTime(&liSystemTime);
272
273 /* Convert it to local time */
274 ExSystemTimeToLocalTime(&liSystemTime, &liLocalTime);
275
276 /* Convert the local time into time fields
277 (note that ENG_TIME_FIELDS is identical to TIME_FIELDS) */
278 RtlTimeToTimeFields(&liLocalTime, (PTIME_FIELDS)ptf);
279 }
280
281 ULONG
282 APIENTRY
EngQueryPalette(IN HPALETTE hPal,OUT ULONG * piMode,IN ULONG cColors,OUT ULONG * pulColors)283 EngQueryPalette(
284 IN HPALETTE hPal,
285 OUT ULONG *piMode,
286 IN ULONG cColors,
287 OUT ULONG *pulColors)
288 {
289 // www.osr.com/ddk/graphics/gdifncs_21t3.htm
290 UNIMPLEMENTED;
291 return 0;
292 }
293
294 DWORD
295 APIENTRY
EngSetPrinterData(IN HANDLE hPrinter,IN LPWSTR pType,IN DWORD dwType,IN LPBYTE lpbPrinterData,IN DWORD cjPrinterData)296 EngSetPrinterData(
297 IN HANDLE hPrinter,
298 IN LPWSTR pType,
299 IN DWORD dwType,
300 IN LPBYTE lpbPrinterData,
301 IN DWORD cjPrinterData)
302 {
303 // www.osr.com/ddk/graphics/gdifncs_8drb.htm
304 EngSetLastError(ERROR_NOT_SUPPORTED);
305 return 0;
306 }
307
308 BOOL
309 APIENTRY
EngStrokeAndFillPath(IN SURFOBJ * pso,IN PATHOBJ * ppo,IN CLIPOBJ * pco,IN XFORMOBJ * pxo,IN BRUSHOBJ * pboStroke,IN LINEATTRS * plineattrs,IN BRUSHOBJ * pboFill,IN POINTL * pptlBrushOrg,IN MIX mixFill,IN FLONG flOptions)310 EngStrokeAndFillPath(
311 IN SURFOBJ *pso,
312 IN PATHOBJ *ppo,
313 IN CLIPOBJ *pco,
314 IN XFORMOBJ *pxo,
315 IN BRUSHOBJ *pboStroke,
316 IN LINEATTRS *plineattrs,
317 IN BRUSHOBJ *pboFill,
318 IN POINTL *pptlBrushOrg,
319 IN MIX mixFill,
320 IN FLONG flOptions)
321 {
322 // www.osr.com/ddk/graphics/gdifncs_2xwn.htm
323 UNIMPLEMENTED;
324 return FALSE;
325 }
326
327 BOOL
328 APIENTRY
EngStrokePath(IN SURFOBJ * pso,IN PATHOBJ * ppo,IN CLIPOBJ * pco,IN XFORMOBJ * pxo,IN BRUSHOBJ * pbo,IN POINTL * pptlBrushOrg,IN LINEATTRS * plineattrs,IN MIX mix)329 EngStrokePath(
330 IN SURFOBJ *pso,
331 IN PATHOBJ *ppo,
332 IN CLIPOBJ *pco,
333 IN XFORMOBJ *pxo,
334 IN BRUSHOBJ *pbo,
335 IN POINTL *pptlBrushOrg,
336 IN LINEATTRS *plineattrs,
337 IN MIX mix)
338 {
339 // www.osr.com/ddk/graphics/gdifncs_4yaw.htm
340 UNIMPLEMENTED;
341 return FALSE;
342 }
343
344 INT
345 APIENTRY
EngWideCharToMultiByte(IN UINT CodePage,IN LPWSTR WideCharString,IN INT BytesInWideCharString,OUT LPSTR MultiByteString,IN INT BytesInMultiByteString)346 EngWideCharToMultiByte(
347 IN UINT CodePage,
348 IN LPWSTR WideCharString,
349 IN INT BytesInWideCharString,
350 OUT LPSTR MultiByteString,
351 IN INT BytesInMultiByteString)
352 {
353 // www.osr.com/ddk/graphics/gdifncs_35wn.htm
354 UNIMPLEMENTED;
355 return 0;
356 }
357
358 BOOL
359 APIENTRY
EngWritePrinter(IN HANDLE hPrinter,IN LPVOID pBuf,IN DWORD cbBuf,OUT LPDWORD pcWritten)360 EngWritePrinter(
361 IN HANDLE hPrinter,
362 IN LPVOID pBuf,
363 IN DWORD cbBuf,
364 OUT LPDWORD pcWritten)
365 {
366 // www.osr.com/ddk/graphics/gdifncs_9v6v.htm
367 EngSetLastError(ERROR_NOT_SUPPORTED);
368 return FALSE;
369 }
370
371 /*
372 * @unimplemented
373 */
374 ULONG
375 APIENTRY
FONTOBJ_cGetAllGlyphHandles(IN FONTOBJ * FontObj,IN HGLYPH * Glyphs)376 FONTOBJ_cGetAllGlyphHandles(
377 IN FONTOBJ *FontObj,
378 IN HGLYPH *Glyphs)
379 {
380 UNIMPLEMENTED;
381 return 0;
382 }
383
384 /*
385 * @unimplemented
386 */
387 ULONG
388 APIENTRY
FONTOBJ_cGetGlyphs(IN FONTOBJ * FontObj,IN ULONG Mode,IN ULONG NumGlyphs,IN HGLYPH * GlyphHandles,IN PVOID * OutGlyphs)389 FONTOBJ_cGetGlyphs(
390 IN FONTOBJ *FontObj,
391 IN ULONG Mode,
392 IN ULONG NumGlyphs,
393 IN HGLYPH *GlyphHandles,
394 IN PVOID *OutGlyphs)
395 {
396 UNIMPLEMENTED;
397 return 0;
398 }
399
400 /*
401 * @unimplemented
402 */
403 IFIMETRICS*
404 APIENTRY
FONTOBJ_pifi(IN FONTOBJ * FontObj)405 FONTOBJ_pifi(IN FONTOBJ *FontObj)
406 {
407 UNIMPLEMENTED;
408 return NULL;
409 }
410
411 /*
412 * @unimplemented
413 */
414 _Ret_opt_bytecount_(*pcjFile)
415 ENGAPI
416 PVOID
417 APIENTRY
FONTOBJ_pvTrueTypeFontFile(_In_ FONTOBJ * pfo,_Out_ ULONG * pcjFile)418 FONTOBJ_pvTrueTypeFontFile(
419 _In_ FONTOBJ *pfo,
420 _Out_ ULONG *pcjFile)
421 {
422 UNIMPLEMENTED;
423 return NULL;
424 }
425
426 /*
427 * @unimplemented
428 */
429 XFORMOBJ*
430 APIENTRY
FONTOBJ_pxoGetXform(IN FONTOBJ * FontObj)431 FONTOBJ_pxoGetXform(IN FONTOBJ *FontObj)
432 {
433 UNIMPLEMENTED;
434 return NULL;
435 }
436
437 /*
438 * @unimplemented
439 */
440 VOID
441 APIENTRY
FONTOBJ_vGetInfo(IN FONTOBJ * FontObj,IN ULONG InfoSize,OUT PFONTINFO FontInfo)442 FONTOBJ_vGetInfo(
443 IN FONTOBJ *FontObj,
444 IN ULONG InfoSize,
445 OUT PFONTINFO FontInfo)
446 {
447 UNIMPLEMENTED;
448 }
449
450 LONG
451 APIENTRY
HT_ComputeRGBGammaTable(IN USHORT GammaTableEntries,IN USHORT GammaTableType,IN USHORT RedGamma,IN USHORT GreenGamma,IN USHORT BlueGamma,OUT LPBYTE pGammaTable)452 HT_ComputeRGBGammaTable(
453 IN USHORT GammaTableEntries,
454 IN USHORT GammaTableType,
455 IN USHORT RedGamma,
456 IN USHORT GreenGamma,
457 IN USHORT BlueGamma,
458 OUT LPBYTE pGammaTable)
459 {
460 // www.osr.com/ddk/graphics/gdifncs_9dpj.htm
461 UNIMPLEMENTED;
462 return 0;
463 }
464
465 LONG
466 APIENTRY
HT_Get8BPPFormatPalette(OUT LPPALETTEENTRY pPaletteEntry,IN USHORT RedGamma,IN USHORT GreenGamma,IN USHORT BlueGamma)467 HT_Get8BPPFormatPalette(
468 OUT LPPALETTEENTRY pPaletteEntry,
469 IN USHORT RedGamma,
470 IN USHORT GreenGamma,
471 IN USHORT BlueGamma)
472 {
473 // www.osr.com/ddk/graphics/gdifncs_8kvb.htm
474 UNIMPLEMENTED;
475 return 0;
476 }
477
478 /*
479 * @unimplemented
480 */
481 ULONG
482 APIENTRY
EngDitherColor(IN HDEV hdev,IN ULONG iMode,IN ULONG rgb,OUT ULONG * pul)483 EngDitherColor(
484 IN HDEV hdev,
485 IN ULONG iMode,
486 IN ULONG rgb,
487 OUT ULONG *pul)
488 {
489 *pul = 0;
490 return DCR_SOLID;
491 }
492
493 /*
494 * @unimplemented
495 */
496 HANDLE
497 APIENTRY
BRUSHOBJ_hGetColorTransform(IN BRUSHOBJ * Brush)498 BRUSHOBJ_hGetColorTransform(
499 IN BRUSHOBJ *Brush)
500 {
501 UNIMPLEMENTED;
502 return NULL;
503 }
504
505 /*
506 * @unimplemented
507 */
508 BOOL
509 APIENTRY
EngDeleteFile(IN LPWSTR FileName)510 EngDeleteFile(
511 IN LPWSTR FileName)
512 {
513 UNIMPLEMENTED;
514 return FALSE;
515 }
516
517 /*
518 * @implemented
519 */
520 BOOL
521 APIENTRY
EngGetPrinterDriver(IN HANDLE Printer,IN LPWSTR Environment,IN DWORD Level,OUT BYTE * DrvInfo,IN DWORD Buf,OUT DWORD * Needed)522 EngGetPrinterDriver(
523 IN HANDLE Printer,
524 IN LPWSTR Environment,
525 IN DWORD Level,
526 OUT BYTE *DrvInfo,
527 IN DWORD Buf,
528 OUT DWORD *Needed)
529 {
530 EngSetLastError(ERROR_NOT_SUPPORTED);
531 return FALSE;
532 }
533
534 /*
535 * @unimplemented
536 */
537 ULONG
538 APIENTRY
EngHangNotification(IN HDEV Dev,IN PVOID Reserved)539 EngHangNotification(
540 IN HDEV Dev,
541 IN PVOID Reserved)
542 {
543 UNIMPLEMENTED;
544 return EHN_ERROR;
545 }
546
547 /*
548 * @unimplemented
549 */
550 BOOL
551 APIENTRY
EngLpkInstalled(VOID)552 EngLpkInstalled(VOID)
553 {
554 UNIMPLEMENTED;
555 return FALSE;
556 }
557
558 /*
559 * @unimplemented
560 */
561 BOOL
562 APIENTRY
EngPlgBlt(IN SURFOBJ * Dest,IN SURFOBJ * Source,IN SURFOBJ * Mask,IN CLIPOBJ * Clip,IN XLATEOBJ * Xlate,IN COLORADJUSTMENT * ColorAdjustment,IN POINTL * BrusOrigin,IN POINTFIX * DestPoints,IN RECTL * SourceRect,IN POINTL * MaskPoint,IN ULONG Mode)563 EngPlgBlt(
564 IN SURFOBJ *Dest,
565 IN SURFOBJ *Source,
566 IN SURFOBJ *Mask,
567 IN CLIPOBJ *Clip,
568 IN XLATEOBJ *Xlate,
569 IN COLORADJUSTMENT *ColorAdjustment,
570 IN POINTL *BrusOrigin,
571 IN POINTFIX *DestPoints,
572 IN RECTL *SourceRect,
573 IN POINTL *MaskPoint,
574 IN ULONG Mode)
575 {
576 UNIMPLEMENTED;
577 return FALSE;
578 }
579
580 /*
581 * @unimplemented
582 */
583 LARGE_INTEGER
584 APIENTRY
EngQueryFileTimeStamp(IN LPWSTR FileName)585 EngQueryFileTimeStamp(IN LPWSTR FileName)
586 {
587 LARGE_INTEGER FileTime;
588 FileTime.QuadPart = 0;
589 UNIMPLEMENTED;
590 return FileTime;
591 }
592
593 /*
594 * @unimplemented
595 */
596 FD_GLYPHSET *
597 APIENTRY
FONTOBJ_pfdg(IN FONTOBJ * FontObj)598 FONTOBJ_pfdg(
599 IN FONTOBJ *FontObj)
600 {
601 UNIMPLEMENTED;
602 return NULL;
603 }
604
605 /*
606 * @unimplemented
607 */
608 _Ret_opt_bytecount_(*pcjTable)
609 ENGAPI
610 PBYTE
611 APIENTRY
FONTOBJ_pjOpenTypeTablePointer(_In_ FONTOBJ * pfo,_In_ ULONG ulTag,_Out_ ULONG * pcjTable)612 FONTOBJ_pjOpenTypeTablePointer(
613 _In_ FONTOBJ *pfo,
614 _In_ ULONG ulTag,
615 _Out_ ULONG *pcjTable)
616 {
617 UNIMPLEMENTED;
618 return NULL;
619 }
620
621 /*
622 * @unimplemented
623 */
624 PFD_GLYPHATTR
625 APIENTRY
FONTOBJ_pQueryGlyphAttrs(IN FONTOBJ * FontObj,IN ULONG Mode)626 FONTOBJ_pQueryGlyphAttrs(
627 IN FONTOBJ *FontObj,
628 IN ULONG Mode)
629 {
630 UNIMPLEMENTED;
631 return NULL;
632 }
633
634 /*
635 * @unimplemented
636 */
637 LPWSTR
638 APIENTRY
FONTOBJ_pwszFontFilePaths(IN FONTOBJ * FontObj,OUT ULONG * PathLength)639 FONTOBJ_pwszFontFilePaths(
640 IN FONTOBJ *FontObj,
641 OUT ULONG *PathLength)
642 {
643 UNIMPLEMENTED;
644 return NULL;
645 }
646
647 /*
648 * @unimplemented
649 */
650 LONG
651 APIENTRY
HT_Get8BPPMaskPalette(IN OUT LPPALETTEENTRY PaletteEntry,IN BOOL Use8BPPMaskPal,IN BYTE CMYMask,IN USHORT RedGamma,IN USHORT GreenGamma,IN USHORT BlueGamma)652 HT_Get8BPPMaskPalette(
653 IN OUT LPPALETTEENTRY PaletteEntry,
654 IN BOOL Use8BPPMaskPal,
655 IN BYTE CMYMask,
656 IN USHORT RedGamma,
657 IN USHORT GreenGamma,
658 IN USHORT BlueGamma)
659 {
660 UNIMPLEMENTED;
661 return 0;
662 }
663
664 /*
665 * @unimplemented
666 */
667 BOOL
668 APIENTRY
NtGdiAnyLinkedFonts(VOID)669 NtGdiAnyLinkedFonts(VOID)
670 {
671 UNIMPLEMENTED;
672 return FALSE;
673 }
674
675 /*
676 * @unimplemented
677 */
678 BOOL
679 APIENTRY
NtGdiEnableEudc(BOOL enable)680 NtGdiEnableEudc(BOOL enable)
681 {
682 UNIMPLEMENTED;
683 return FALSE;
684 }
685
686 /*
687 * @unimplemented
688 */
689 BOOL
690 APIENTRY
NtGdiAddRemoteFontToDC(IN HDC hdc,IN PVOID pvBuffer,IN ULONG cjBuffer,IN OPTIONAL PUNIVERSAL_FONT_ID pufi)691 NtGdiAddRemoteFontToDC(
692 IN HDC hdc,
693 IN PVOID pvBuffer,
694 IN ULONG cjBuffer,
695 IN OPTIONAL PUNIVERSAL_FONT_ID pufi)
696 {
697 UNIMPLEMENTED;
698 return 0;
699 }
700
701 /*
702 * @unimplemented
703 */
704 BOOL
705 APIENTRY
NtGdiRemoveMergeFont(IN HDC hdc,IN UNIVERSAL_FONT_ID * pufi)706 NtGdiRemoveMergeFont(
707 IN HDC hdc,
708 IN UNIVERSAL_FONT_ID *pufi)
709 {
710 UNIMPLEMENTED;
711 return FALSE;
712 }
713
714 /*
715 * @unimplemented
716 */
717 BOOL
718 APIENTRY
NtGdiAddRemoteMMInstanceToDC(IN HDC hdc,IN DOWNLOADDESIGNVECTOR * pddv,IN ULONG cjDDV)719 NtGdiAddRemoteMMInstanceToDC(
720 IN HDC hdc,
721 IN DOWNLOADDESIGNVECTOR *pddv,
722 IN ULONG cjDDV)
723 {
724 UNIMPLEMENTED;
725 return FALSE;
726 }
727
728 /*
729 * @unimplemented
730 */
731 BOOL
732 APIENTRY
NtGdiFontIsLinked(IN HDC hdc)733 NtGdiFontIsLinked(IN HDC hdc)
734 {
735 UNIMPLEMENTED;
736 return FALSE;
737 }
738
739 /*
740 * @unimplemented
741 */
742 BOOL
743 APIENTRY
NtGdiCheckBitmapBits(IN HDC hdc,IN HANDLE hColorTransform,IN PVOID pvBits,IN ULONG bmFormat,IN DWORD dwWidth,IN DWORD dwHeight,IN DWORD dwStride,OUT PBYTE paResults)744 NtGdiCheckBitmapBits(
745 IN HDC hdc,
746 IN HANDLE hColorTransform,
747 IN PVOID pvBits,
748 IN ULONG bmFormat,
749 IN DWORD dwWidth,
750 IN DWORD dwHeight,
751 IN DWORD dwStride,
752 OUT PBYTE paResults)
753 {
754 UNIMPLEMENTED;
755 return FALSE;
756 }
757
758 /*
759 * @implemented
760 */
761 HBITMAP
762 APIENTRY
NtGdiClearBitmapAttributes(IN HBITMAP hbm,IN DWORD dwFlags)763 NtGdiClearBitmapAttributes(
764 IN HBITMAP hbm,
765 IN DWORD dwFlags)
766 {
767 if ( dwFlags & SC_BB_STOCKOBJ )
768 {
769 if (GDIOBJ_ConvertFromStockObj((HGDIOBJ*)&hbm))
770 {
771 return hbm;
772 }
773 }
774 return NULL;
775 }
776
777 /*
778 * @unimplemented
779 */
780 BOOL
781 APIENTRY
NtGdiGetUFI(IN HDC hdc,OUT PUNIVERSAL_FONT_ID pufi,OUT OPTIONAL DESIGNVECTOR * pdv,OUT ULONG * pcjDV,OUT ULONG * pulBaseCheckSum,OUT FLONG * pfl)782 NtGdiGetUFI(
783 IN HDC hdc,
784 OUT PUNIVERSAL_FONT_ID pufi,
785 OUT OPTIONAL DESIGNVECTOR *pdv,
786 OUT ULONG *pcjDV,
787 OUT ULONG *pulBaseCheckSum,
788 OUT FLONG *pfl)
789 {
790 UNIMPLEMENTED;
791 return FALSE;
792 }
793
794
795 /*
796 * @unimplemented
797 */
798 ULONG
799 APIENTRY
NtGdiColorCorrectPalette(IN HDC hdc,IN HPALETTE hpal,IN ULONG FirstEntry,IN ULONG NumberOfEntries,IN OUT PALETTEENTRY * ppalEntry,IN ULONG Command)800 NtGdiColorCorrectPalette(
801 IN HDC hdc,
802 IN HPALETTE hpal,
803 IN ULONG FirstEntry,
804 IN ULONG NumberOfEntries,
805 IN OUT PALETTEENTRY *ppalEntry,
806 IN ULONG Command)
807 {
808 UNIMPLEMENTED;
809 return 0;
810 }
811
812 /*
813 * @unimplemented
814 */
815 HANDLE
816 APIENTRY
NtGdiCreateColorTransform(IN HDC hdc,IN LPLOGCOLORSPACEW pLogColorSpaceW,IN OPTIONAL PVOID pvSrcProfile,IN ULONG cjSrcProfile,IN OPTIONAL PVOID pvDestProfile,IN ULONG cjDestProfile,IN OPTIONAL PVOID pvTargetProfile,IN ULONG cjTargetProfile)817 NtGdiCreateColorTransform(
818 IN HDC hdc,
819 IN LPLOGCOLORSPACEW pLogColorSpaceW,
820 IN OPTIONAL PVOID pvSrcProfile,
821 IN ULONG cjSrcProfile,
822 IN OPTIONAL PVOID pvDestProfile,
823 IN ULONG cjDestProfile,
824 IN OPTIONAL PVOID pvTargetProfile,
825 IN ULONG cjTargetProfile)
826 {
827 UNIMPLEMENTED;
828 return NULL;
829 }
830
831 /*
832 * @unimplemented
833 */
834 BOOL
835 APIENTRY
NtGdiComputeXformCoefficients(IN HDC hdc)836 NtGdiComputeXformCoefficients(IN HDC hdc)
837 {
838 UNIMPLEMENTED;
839 return FALSE;
840 }
841
842 /*
843 * @unimplemented
844 */
845 BOOL
846 APIENTRY
NtGdiConsoleTextOut(IN HDC hdc,IN POLYTEXTW * lpto,IN UINT nStrings,IN RECTL * prclBounds)847 NtGdiConsoleTextOut(
848 IN HDC hdc,
849 IN POLYTEXTW *lpto,
850 IN UINT nStrings,
851 IN RECTL *prclBounds)
852 {
853 UNIMPLEMENTED;
854 return FALSE;
855 }
856
857 /*
858 * @unimplemented
859 */
860 BOOL
861 APIENTRY
NtGdiDeleteColorTransform(IN HDC hdc,IN HANDLE hColorTransform)862 NtGdiDeleteColorTransform(
863 IN HDC hdc,
864 IN HANDLE hColorTransform)
865 {
866 UNIMPLEMENTED;
867 return FALSE;
868 }
869
870 /*
871 * @unimplemented
872 */
873 ULONG
874 APIENTRY
NtGdiGetPerBandInfo(IN HDC hdc,IN OUT PERBANDINFO * ppbi)875 NtGdiGetPerBandInfo(
876 IN HDC hdc,
877 IN OUT PERBANDINFO *ppbi)
878 {
879 UNIMPLEMENTED;
880 return 0;
881 }
882
883 /*
884 * @unimplemented
885 */
886 BOOL
887 APIENTRY
NtGdiDoBanding(IN HDC hdc,IN BOOL bStart,OUT POINTL * pptl,OUT PSIZE pSize)888 NtGdiDoBanding(
889 IN HDC hdc,
890 IN BOOL bStart,
891 OUT POINTL *pptl,
892 OUT PSIZE pSize)
893 {
894 UNIMPLEMENTED;
895 return FALSE;
896 }
897
898 /*
899 * @unimplemented
900 */
901 BOOL
902 APIENTRY
NtGdiEnumFontChunk(IN HDC hdc,IN ULONG_PTR idEnum,IN ULONG cjEfdw,OUT ULONG * pcjEfdw,OUT PENUMFONTDATAW pefdw)903 NtGdiEnumFontChunk(
904 IN HDC hdc,
905 IN ULONG_PTR idEnum,
906 IN ULONG cjEfdw,
907 OUT ULONG *pcjEfdw,
908 OUT PENUMFONTDATAW pefdw)
909 {
910 UNIMPLEMENTED;
911 return FALSE;
912 }
913
914 /*
915 * @unimplemented
916 */
917 BOOL
918 APIENTRY
NtGdiEnumFontClose(IN ULONG_PTR idEnum)919 NtGdiEnumFontClose(
920 IN ULONG_PTR idEnum)
921 {
922 UNIMPLEMENTED;
923 return FALSE;
924 }
925
926 /*
927 * @unimplemented
928 */
929 ULONG_PTR
930 APIENTRY
NtGdiEnumFontOpen(IN HDC hdc,IN ULONG iEnumType,IN FLONG flWin31Compat,IN ULONG cwchMax,IN OPTIONAL LPWSTR pwszFaceName,IN ULONG lfCharSet,OUT ULONG * pulCount)931 NtGdiEnumFontOpen(
932 IN HDC hdc,
933 IN ULONG iEnumType,
934 IN FLONG flWin31Compat,
935 IN ULONG cwchMax,
936 IN OPTIONAL LPWSTR pwszFaceName,
937 IN ULONG lfCharSet,
938 OUT ULONG *pulCount)
939 {
940 UNIMPLEMENTED;
941 return 0;
942 }
943
944 /*
945 * @unimplemented
946 */
947 BOOL
948 APIENTRY
NtGdiEudcLoadUnloadLink(IN OPTIONAL LPCWSTR pBaseFaceName,IN UINT cwcBaseFaceName,IN LPCWSTR pEudcFontPath,IN UINT cwcEudcFontPath,IN INT iPriority,IN INT iFontLinkType,IN BOOL bLoadLin)949 NtGdiEudcLoadUnloadLink(
950 IN OPTIONAL LPCWSTR pBaseFaceName,
951 IN UINT cwcBaseFaceName,
952 IN LPCWSTR pEudcFontPath,
953 IN UINT cwcEudcFontPath,
954 IN INT iPriority,
955 IN INT iFontLinkType,
956 IN BOOL bLoadLin)
957 {
958 UNIMPLEMENTED;
959 return FALSE;
960 }
961
962 /*
963 * @unimplemented
964 */
965 BOOL
966 APIENTRY
NtGdiForceUFIMapping(IN HDC hdc,IN PUNIVERSAL_FONT_ID pufi)967 NtGdiForceUFIMapping(
968 IN HDC hdc,
969 IN PUNIVERSAL_FONT_ID pufi)
970 {
971 UNIMPLEMENTED;
972 return FALSE;
973 }
974
975 /*
976 * @unimplemented
977 */
978 NTSTATUS
979 APIENTRY
NtGdiFullscreenControl(IN FULLSCREENCONTROL FullscreenCommand,IN PVOID FullscreenInput,IN DWORD FullscreenInputLength,OUT PVOID FullscreenOutput,IN OUT PULONG FullscreenOutputLength)980 NtGdiFullscreenControl(
981 IN FULLSCREENCONTROL FullscreenCommand,
982 IN PVOID FullscreenInput,
983 IN DWORD FullscreenInputLength,
984 OUT PVOID FullscreenOutput,
985 IN OUT PULONG FullscreenOutputLength)
986 {
987 UNIMPLEMENTED;
988 return FALSE;
989 }
990
991 /*
992 * @unimplemented
993 */
994 BOOL
995 APIENTRY
NtGdiGetCharWidthInfo(IN HDC hdc,OUT PCHWIDTHINFO pChWidthInfo)996 NtGdiGetCharWidthInfo(
997 IN HDC hdc,
998 OUT PCHWIDTHINFO pChWidthInfo)
999 {
1000 UNIMPLEMENTED;
1001 return FALSE;
1002 }
1003
1004 /*
1005 * @unimplemented
1006 */
1007 ULONG_PTR
1008 APIENTRY
NtGdiGetColorSpaceforBitmap(IN HBITMAP hsurf)1009 NtGdiGetColorSpaceforBitmap(
1010 IN HBITMAP hsurf)
1011 {
1012 UNIMPLEMENTED;
1013 return 0;
1014 }
1015
1016 /*
1017 * @unimplemented
1018 */
1019 BOOL
1020 APIENTRY
NtGdiGetETM(IN HDC hdc,OUT EXTTEXTMETRIC * petm)1021 NtGdiGetETM(
1022 IN HDC hdc,
1023 OUT EXTTEXTMETRIC *petm)
1024 {
1025 UNIMPLEMENTED;
1026 return FALSE;
1027 }
1028
1029 /*
1030 * @unimplemented
1031 */
1032 ULONG
1033 APIENTRY
NtGdiGetEudcTimeStampEx(IN OPTIONAL LPWSTR lpBaseFaceName,IN ULONG cwcBaseFaceName,IN BOOL bSystemTimeStamp)1034 NtGdiGetEudcTimeStampEx(
1035 IN OPTIONAL LPWSTR lpBaseFaceName,
1036 IN ULONG cwcBaseFaceName,
1037 IN BOOL bSystemTimeStamp)
1038 {
1039 UNIMPLEMENTED;
1040 return 0;
1041 }
1042
1043 /*
1044 * @implemented
1045 */
1046 BOOL
1047 APIENTRY
NtGdiInitSpool(VOID)1048 NtGdiInitSpool(VOID)
1049 {
1050 EngSetLastError(ERROR_NOT_SUPPORTED);
1051 return FALSE;
1052 }
1053
1054 /*
1055 * @unimplemented
1056 */
1057 INT
1058 APIENTRY
NtGdiQueryFonts(OUT PUNIVERSAL_FONT_ID pufiFontList,IN ULONG nBufferSize,OUT PLARGE_INTEGER pTimeStamp)1059 NtGdiQueryFonts(
1060 OUT PUNIVERSAL_FONT_ID pufiFontList,
1061 IN ULONG nBufferSize,
1062 OUT PLARGE_INTEGER pTimeStamp)
1063 {
1064 UNIMPLEMENTED;
1065 return 0;
1066 }
1067
1068 /*
1069 * @implemented
1070 */
1071 INT
1072 APIENTRY
NtGdiGetSpoolMessage(DWORD u1,DWORD u2,DWORD u3,DWORD u4)1073 NtGdiGetSpoolMessage(
1074 DWORD u1,
1075 DWORD u2,
1076 DWORD u3,
1077 DWORD u4)
1078 {
1079 /* FIXME: The prototypes */
1080 EngSetLastError(ERROR_NOT_SUPPORTED);
1081 return 0;
1082 }
1083
1084 /*
1085 * @unimplemented
1086 */
1087 DWORD
1088 APIENTRY
NtGdiGetGlyphIndicesWInternal(IN HDC hdc,IN OPTIONAL LPWSTR pwc,IN INT cwc,OUT OPTIONAL LPWORD pgi,IN DWORD iMode,IN BOOL bSubset)1089 NtGdiGetGlyphIndicesWInternal(
1090 IN HDC hdc,
1091 IN OPTIONAL LPWSTR pwc,
1092 IN INT cwc,
1093 OUT OPTIONAL LPWORD pgi,
1094 IN DWORD iMode,
1095 IN BOOL bSubset)
1096 {
1097 UNIMPLEMENTED;
1098 return 0;
1099 }
1100
1101 /*
1102 * @unimplemented
1103 */
1104 INT
1105 APIENTRY
NtGdiGetLinkedUFIs(IN HDC hdc,OUT OPTIONAL PUNIVERSAL_FONT_ID pufiLinkedUFIs,IN INT BufferSize)1106 NtGdiGetLinkedUFIs(
1107 IN HDC hdc,
1108 OUT OPTIONAL PUNIVERSAL_FONT_ID pufiLinkedUFIs,
1109 IN INT BufferSize)
1110 {
1111 UNIMPLEMENTED;
1112 return 0;
1113 }
1114
1115 /*
1116 * @unimplemented
1117 */
1118 BOOL
1119 APIENTRY
NtGdiGetMonitorID(IN HDC hdc,IN DWORD dwSize,OUT LPWSTR pszMonitorID)1120 NtGdiGetMonitorID(
1121 IN HDC hdc,
1122 IN DWORD dwSize,
1123 OUT LPWSTR pszMonitorID)
1124 {
1125 UNIMPLEMENTED;
1126 return FALSE;
1127 }
1128
1129 /*
1130 * @unimplemented
1131 */
1132 BOOL
1133 APIENTRY
NtGdiDrawStream(IN HDC hdcDst,IN ULONG cjIn,IN VOID * pvIn)1134 NtGdiDrawStream(
1135 IN HDC hdcDst,
1136 IN ULONG cjIn,
1137 IN VOID *pvIn)
1138 {
1139 UNIMPLEMENTED;
1140 return FALSE;
1141 }
1142
1143 /*
1144 * @unimplemented
1145 */
1146 BOOL
1147 APIENTRY
NtGdiUpdateTransform(IN HDC hdc)1148 NtGdiUpdateTransform(IN HDC hdc)
1149 {
1150 UNIMPLEMENTED;
1151 return FALSE;
1152 }
1153
1154 /*
1155 * @unimplemented
1156 */
1157 ULONG
1158 APIENTRY
NtGdiQueryFontAssocInfo(IN HDC hdc)1159 NtGdiQueryFontAssocInfo(
1160 IN HDC hdc)
1161 {
1162 UNIMPLEMENTED;
1163 return 0;
1164 }
1165
1166 /*
1167 * @unimplemented
1168 */
1169 UINT
1170 APIENTRY
NtGdiGetStringBitmapW(IN HDC hdc,IN LPWSTR pwsz,IN UINT cwc,OUT BYTE * lpSB,IN UINT cj)1171 NtGdiGetStringBitmapW(
1172 IN HDC hdc,
1173 IN LPWSTR pwsz,
1174 IN UINT cwc,
1175 OUT BYTE *lpSB,
1176 IN UINT cj)
1177 {
1178 UNIMPLEMENTED;
1179 return 0;
1180 }
1181
1182 /*
1183 * @unimplemented
1184 */
1185 BOOL
1186 APIENTRY
NtGdiRemoveFontResourceW(IN WCHAR * pwszFiles,IN ULONG cwc,IN ULONG cFiles,IN ULONG fl,IN DWORD dwPidTid,IN OPTIONAL DESIGNVECTOR * pdv)1187 NtGdiRemoveFontResourceW(
1188 IN WCHAR *pwszFiles,
1189 IN ULONG cwc,
1190 IN ULONG cFiles,
1191 IN ULONG fl,
1192 IN DWORD dwPidTid,
1193 IN OPTIONAL DESIGNVECTOR *pdv)
1194 {
1195 UNIMPLEMENTED;
1196 return FALSE;
1197 }
1198
1199 /*
1200 * @unimplemented
1201 */
1202 BOOL
1203 APIENTRY
NtGdiPolyTextOutW(IN HDC hdc,IN POLYTEXTW * pptw,IN UINT cStr,IN DWORD dwCodePage)1204 NtGdiPolyTextOutW(
1205 IN HDC hdc,
1206 IN POLYTEXTW *pptw,
1207 IN UINT cStr,
1208 IN DWORD dwCodePage)
1209 {
1210 UNIMPLEMENTED;
1211 return FALSE;
1212 }
1213
1214 /*
1215 * @unimplemented
1216 */
1217 NTSTATUS
1218 APIENTRY
NtGdiGetStats(IN HANDLE hProcess,IN INT iIndex,IN INT iPidType,OUT PVOID pResults,IN UINT cjResultSize)1219 NtGdiGetStats(
1220 IN HANDLE hProcess,
1221 IN INT iIndex,
1222 IN INT iPidType,
1223 OUT PVOID pResults,
1224 IN UINT cjResultSize)
1225 {
1226 UNIMPLEMENTED;
1227 return STATUS_NOT_IMPLEMENTED;
1228 }
1229
1230 /*
1231 * @unimplemented
1232 */
1233 INT
1234 APIENTRY
NtGdiSetupPublicCFONT(IN HDC hdc,IN OPTIONAL HFONT hf,IN ULONG ulAve)1235 NtGdiSetupPublicCFONT(
1236 IN HDC hdc,
1237 IN OPTIONAL HFONT hf,
1238 IN ULONG ulAve)
1239 {
1240 UNIMPLEMENTED;
1241 return 0;
1242 }
1243
1244 /*
1245 * @unimplemented
1246 */
1247 BOOL
1248 APIENTRY
NtGdiGetEmbUFI(IN HDC hdc,OUT PUNIVERSAL_FONT_ID pufi,OUT OPTIONAL DESIGNVECTOR * pdv,OUT ULONG * pcjDV,OUT ULONG * pulBaseCheckSum,OUT FLONG * pfl,OUT KERNEL_PVOID * embFontID)1249 NtGdiGetEmbUFI(
1250 IN HDC hdc,
1251 OUT PUNIVERSAL_FONT_ID pufi,
1252 OUT OPTIONAL DESIGNVECTOR *pdv,
1253 OUT ULONG *pcjDV,
1254 OUT ULONG *pulBaseCheckSum,
1255 OUT FLONG *pfl,
1256 OUT KERNEL_PVOID *embFontID)
1257 {
1258 UNIMPLEMENTED;
1259 return FALSE;
1260 }
1261
1262 /*
1263 * @unimplemented
1264 */
1265 BOOL
1266 APIENTRY
NtGdiGetUFIPathname(IN PUNIVERSAL_FONT_ID pufi,OUT OPTIONAL ULONG * pcwc,OUT OPTIONAL LPWSTR pwszPathname,OUT OPTIONAL ULONG * pcNumFiles,IN FLONG fl,OUT OPTIONAL BOOL * pbMemFont,OUT OPTIONAL ULONG * pcjView,OUT OPTIONAL PVOID pvView,OUT OPTIONAL BOOL * pbTTC,OUT OPTIONAL ULONG * piTTC)1267 NtGdiGetUFIPathname(
1268 IN PUNIVERSAL_FONT_ID pufi,
1269 OUT OPTIONAL ULONG* pcwc,
1270 OUT OPTIONAL LPWSTR pwszPathname,
1271 OUT OPTIONAL ULONG* pcNumFiles,
1272 IN FLONG fl,
1273 OUT OPTIONAL BOOL *pbMemFont,
1274 OUT OPTIONAL ULONG *pcjView,
1275 OUT OPTIONAL PVOID pvView,
1276 OUT OPTIONAL BOOL *pbTTC,
1277 OUT OPTIONAL ULONG *piTTC)
1278 {
1279 UNIMPLEMENTED;
1280 return FALSE;
1281 }
1282
1283 /*
1284 * @unimplemented
1285 */
1286 ULONG
1287 APIENTRY
NtGdiGetEmbedFonts(VOID)1288 NtGdiGetEmbedFonts(
1289 VOID)
1290 {
1291 UNIMPLEMENTED;
1292 return 0;
1293 }
1294
1295 /*
1296 * @unimplemented
1297 */
1298 BOOL
1299 APIENTRY
NtGdiChangeGhostFont(IN KERNEL_PVOID * pfontID,IN BOOL bLoad)1300 NtGdiChangeGhostFont(
1301 IN KERNEL_PVOID *pfontID,
1302 IN BOOL bLoad)
1303 {
1304 UNIMPLEMENTED;
1305 return FALSE;
1306 }
1307
1308 /*
1309 * @unimplemented
1310 */
1311 BOOL
1312 APIENTRY
NtGdiAddEmbFontToDC(IN HDC hdc,IN VOID ** pFontID)1313 NtGdiAddEmbFontToDC(
1314 IN HDC hdc,
1315 IN VOID **pFontID)
1316 {
1317 UNIMPLEMENTED;
1318 return FALSE;
1319 }
1320
1321 /*
1322 * @unimplemented
1323 */
1324 BOOL
1325 APIENTRY
NtGdiGetWidthTable(IN HDC hdc,IN ULONG cSpecial,IN WCHAR * pwc,IN ULONG cwc,OUT USHORT * psWidth,OUT OPTIONAL WIDTHDATA * pwd,OUT FLONG * pflInfo)1326 NtGdiGetWidthTable(
1327 IN HDC hdc,
1328 IN ULONG cSpecial,
1329 IN WCHAR *pwc,
1330 IN ULONG cwc,
1331 OUT USHORT *psWidth,
1332 OUT OPTIONAL WIDTHDATA *pwd,
1333 OUT FLONG *pflInfo)
1334 {
1335 UNIMPLEMENTED;
1336 return FALSE;
1337 }
1338
1339 /*
1340 * @unimplemented
1341 */
1342 BOOL
1343 APIENTRY
NtGdiIcmBrushInfo(IN HDC hdc,IN HBRUSH hbrush,IN OUT PBITMAPINFO pbmiDIB,IN OUT PVOID pvBits,IN OUT ULONG * pulBits,OUT OPTIONAL DWORD * piUsage,OUT OPTIONAL BOOL * pbAlreadyTran,IN ULONG Command)1344 NtGdiIcmBrushInfo(
1345 IN HDC hdc,
1346 IN HBRUSH hbrush,
1347 IN OUT PBITMAPINFO pbmiDIB,
1348 IN OUT PVOID pvBits,
1349 IN OUT ULONG *pulBits,
1350 OUT OPTIONAL DWORD *piUsage,
1351 OUT OPTIONAL BOOL *pbAlreadyTran,
1352 IN ULONG Command)
1353 {
1354 UNIMPLEMENTED;
1355 return FALSE;
1356 }
1357
1358 /*
1359 * @unimplemented
1360 */
1361 ULONG
1362 APIENTRY
NtGdiMakeFontDir(IN FLONG flEmbed,OUT PBYTE pjFontDir,IN unsigned cjFontDir,IN LPWSTR pwszPathname,IN unsigned cjPathname)1363 NtGdiMakeFontDir(
1364 IN FLONG flEmbed,
1365 OUT PBYTE pjFontDir,
1366 IN unsigned cjFontDir,
1367 IN LPWSTR pwszPathname,
1368 IN unsigned cjPathname)
1369 {
1370 UNIMPLEMENTED;
1371 return 0;
1372 }
1373
1374 /*
1375 * @unimplemented
1376 */
1377 BOOL
1378 APIENTRY
NtGdiMonoBitmap(IN HBITMAP hbm)1379 NtGdiMonoBitmap(
1380 IN HBITMAP hbm)
1381 {
1382 UNIMPLEMENTED;
1383 return FALSE;
1384 }
1385
1386 /*
1387 * @implemented
1388 */
1389 HBITMAP
1390 APIENTRY
NtGdiSetBitmapAttributes(IN HBITMAP hbm,IN DWORD dwFlags)1391 NtGdiSetBitmapAttributes(
1392 IN HBITMAP hbm,
1393 IN DWORD dwFlags)
1394 {
1395 if ( dwFlags & SC_BB_STOCKOBJ )
1396 {
1397 if (GDIOBJ_ConvertToStockObj((HGDIOBJ*)&hbm))
1398 {
1399 return hbm;
1400 }
1401 }
1402 return NULL;
1403 }
1404
1405 /*
1406 * @unimplemented
1407 */
1408 ULONG
1409 APIENTRY
NtGdiSetFontEnumeration(IN ULONG ulType)1410 NtGdiSetFontEnumeration(
1411 IN ULONG ulType)
1412 {
1413 UNIMPLEMENTED;
1414 return 0;
1415 }
1416
1417 /*
1418 * @unimplemented
1419 */
1420 BOOL
1421 APIENTRY
NtGdiSetFontXform(IN HDC hdc,IN DWORD dwxScale,IN DWORD dwyScale)1422 NtGdiSetFontXform(
1423 IN HDC hdc,
1424 IN DWORD dwxScale,
1425 IN DWORD dwyScale)
1426 {
1427 UNIMPLEMENTED;
1428 return FALSE;
1429 }
1430
1431 /*
1432 * @unimplemented
1433 */
1434 BOOL
1435 APIENTRY
NtGdiSetLinkedUFIs(IN HDC hdc,IN PUNIVERSAL_FONT_ID pufiLinks,IN ULONG uNumUFIs)1436 NtGdiSetLinkedUFIs(
1437 IN HDC hdc,
1438 IN PUNIVERSAL_FONT_ID pufiLinks,
1439 IN ULONG uNumUFIs)
1440 {
1441 UNIMPLEMENTED;
1442 return FALSE;
1443 }
1444
1445 /*
1446 * @unimplemented
1447 */
1448 BOOL
1449 APIENTRY
NtGdiSetMagicColors(IN HDC hdc,IN PALETTEENTRY peMagic,IN ULONG Index)1450 NtGdiSetMagicColors(
1451 IN HDC hdc,
1452 IN PALETTEENTRY peMagic,
1453 IN ULONG Index)
1454 {
1455 UNIMPLEMENTED;
1456 return FALSE;
1457 }
1458
1459 /*
1460 * @implemented
1461 */
1462 BOOL
1463 APIENTRY
NtGdiUnloadPrinterDriver(IN LPWSTR pDriverName,IN ULONG cbDriverName)1464 NtGdiUnloadPrinterDriver(
1465 IN LPWSTR pDriverName,
1466 IN ULONG cbDriverName)
1467 {
1468 EngSetLastError(ERROR_NOT_SUPPORTED);
1469 return FALSE;
1470 }
1471
1472 /*
1473 * @implemented
1474 */
1475 BOOL
1476 APIENTRY
NtGdiUnmapMemFont(IN PVOID pvView)1477 NtGdiUnmapMemFont(
1478 IN PVOID pvView)
1479 {
1480 return TRUE;
1481 }
1482
1483 BOOL
1484 APIENTRY
EngControlSprites(IN WNDOBJ * pwo,IN FLONG fl)1485 EngControlSprites(
1486 IN WNDOBJ *pwo,
1487 IN FLONG fl)
1488 {
1489 UNIMPLEMENTED;
1490 return FALSE;
1491 }
1492
1493 _Must_inspect_result_
_Ret_opt_bytecap_(cjSize)1494 _Ret_opt_bytecap_(cjSize)
1495 ENGAPI
1496 PVOID
1497 APIENTRY
1498 EngFntCacheAlloc(
1499 _In_ ULONG ulFastCheckSum,
1500 _In_ ULONG cjSize)
1501 {
1502 UNIMPLEMENTED;
1503 return NULL;
1504 }
1505
1506 VOID
1507 APIENTRY
EngFntCacheFault(IN ULONG ulFastCheckSum,IN ULONG iFaultMode)1508 EngFntCacheFault(
1509 IN ULONG ulFastCheckSum,
1510 IN ULONG iFaultMode)
1511 {
1512 UNIMPLEMENTED;
1513 }
1514
1515 PVOID
1516 APIENTRY
EngFntCacheLookUp(IN ULONG FastCheckSum,OUT PULONG pulSize)1517 EngFntCacheLookUp(
1518 IN ULONG FastCheckSum,
1519 OUT PULONG pulSize)
1520 {
1521 UNIMPLEMENTED;
1522 return NULL;
1523 }
1524
1525 BOOLEAN
1526 APIENTRY
EngNineGrid(IN SURFOBJ * pDestSurfaceObj,IN SURFOBJ * pSourceSurfaceObj,IN CLIPOBJ * pClipObj,IN XLATEOBJ * pXlateObj,IN RECTL * prclSource,IN RECTL * prclDest,PVOID pvUnknown1,PVOID pvUnknown2,DWORD dwReserved)1527 EngNineGrid(
1528 IN SURFOBJ* pDestSurfaceObj,
1529 IN SURFOBJ* pSourceSurfaceObj,
1530 IN CLIPOBJ* pClipObj,
1531 IN XLATEOBJ* pXlateObj,
1532 IN RECTL* prclSource,
1533 IN RECTL* prclDest,
1534 PVOID pvUnknown1,
1535 PVOID pvUnknown2,
1536 DWORD dwReserved)
1537 {
1538 UNIMPLEMENTED;
1539 return FALSE;
1540 }
1541
1542 /* EOF */
1543