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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 431 FONTOBJ_pxoGetXform(IN FONTOBJ *FontObj) 432 { 433 UNIMPLEMENTED; 434 return NULL; 435 } 436 437 /* 438 * @unimplemented 439 */ 440 VOID 441 APIENTRY 442 FONTOBJ_vGetInfo( 443 IN FONTOBJ *FontObj, 444 IN ULONG InfoSize, 445 OUT PFONTINFO FontInfo) 446 { 447 UNIMPLEMENTED; 448 } 449 450 LONG 451 APIENTRY 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 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 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 498 BRUSHOBJ_hGetColorTransform( 499 IN BRUSHOBJ *Brush) 500 { 501 UNIMPLEMENTED; 502 return NULL; 503 } 504 505 /* 506 * @unimplemented 507 */ 508 BOOL 509 APIENTRY 510 EngDeleteFile( 511 IN LPWSTR FileName) 512 { 513 UNIMPLEMENTED; 514 return FALSE; 515 } 516 517 /* 518 * @implemented 519 */ 520 BOOL 521 APIENTRY 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 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 552 EngLpkInstalled(VOID) 553 { 554 UNIMPLEMENTED; 555 return FALSE; 556 } 557 558 /* 559 * @unimplemented 560 */ 561 BOOL 562 APIENTRY 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 BOOL 584 APIENTRY 585 EngQueryDeviceAttribute( 586 _In_ HDEV hdev, 587 _In_ ENG_DEVICE_ATTRIBUTE devAttr, 588 _In_reads_bytes_(cjInSize) PVOID pvIn, 589 _In_ ULONG cjInSize, 590 _Out_writes_bytes_(cjOutSize) PVOID pvOut, 591 _In_ ULONG cjOutSize) 592 { 593 if (devAttr != QDA_ACCELERATION_LEVEL) 594 return FALSE; 595 596 UNIMPLEMENTED; 597 598 if (cjOutSize >= sizeof(DWORD)) 599 { 600 /* Set all accelerations to enabled */ 601 *(DWORD*)pvOut = 0; 602 return TRUE; 603 } 604 605 return FALSE; 606 } 607 608 /* 609 * @unimplemented 610 */ 611 LARGE_INTEGER 612 APIENTRY 613 EngQueryFileTimeStamp(IN LPWSTR FileName) 614 { 615 LARGE_INTEGER FileTime; 616 FileTime.QuadPart = 0; 617 UNIMPLEMENTED; 618 return FileTime; 619 } 620 621 /* 622 * @unimplemented 623 */ 624 FD_GLYPHSET * 625 APIENTRY 626 FONTOBJ_pfdg( 627 IN FONTOBJ *FontObj) 628 { 629 UNIMPLEMENTED; 630 return NULL; 631 } 632 633 /* 634 * @unimplemented 635 */ 636 _Ret_opt_bytecount_(*pcjTable) 637 ENGAPI 638 PBYTE 639 APIENTRY 640 FONTOBJ_pjOpenTypeTablePointer( 641 _In_ FONTOBJ *pfo, 642 _In_ ULONG ulTag, 643 _Out_ ULONG *pcjTable) 644 { 645 UNIMPLEMENTED; 646 return NULL; 647 } 648 649 /* 650 * @unimplemented 651 */ 652 PFD_GLYPHATTR 653 APIENTRY 654 FONTOBJ_pQueryGlyphAttrs( 655 IN FONTOBJ *FontObj, 656 IN ULONG Mode) 657 { 658 UNIMPLEMENTED; 659 return NULL; 660 } 661 662 /* 663 * @unimplemented 664 */ 665 LPWSTR 666 APIENTRY 667 FONTOBJ_pwszFontFilePaths( 668 IN FONTOBJ *FontObj, 669 OUT ULONG *PathLength) 670 { 671 UNIMPLEMENTED; 672 return NULL; 673 } 674 675 /* 676 * @unimplemented 677 */ 678 LONG 679 APIENTRY 680 HT_Get8BPPMaskPalette( 681 IN OUT LPPALETTEENTRY PaletteEntry, 682 IN BOOL Use8BPPMaskPal, 683 IN BYTE CMYMask, 684 IN USHORT RedGamma, 685 IN USHORT GreenGamma, 686 IN USHORT BlueGamma) 687 { 688 UNIMPLEMENTED; 689 return 0; 690 } 691 692 /* 693 * @unimplemented 694 */ 695 BOOL 696 APIENTRY 697 NtGdiAnyLinkedFonts(VOID) 698 { 699 UNIMPLEMENTED; 700 return FALSE; 701 } 702 703 /* 704 * @unimplemented 705 */ 706 BOOL 707 APIENTRY 708 NtGdiEnableEudc(BOOL enable) 709 { 710 UNIMPLEMENTED; 711 return FALSE; 712 } 713 714 /* 715 * @unimplemented 716 */ 717 BOOL 718 APIENTRY 719 NtGdiAddRemoteFontToDC( 720 IN HDC hdc, 721 IN PVOID pvBuffer, 722 IN ULONG cjBuffer, 723 IN OPTIONAL PUNIVERSAL_FONT_ID pufi) 724 { 725 UNIMPLEMENTED; 726 return 0; 727 } 728 729 /* 730 * @unimplemented 731 */ 732 BOOL 733 APIENTRY 734 NtGdiRemoveMergeFont( 735 IN HDC hdc, 736 IN UNIVERSAL_FONT_ID *pufi) 737 { 738 UNIMPLEMENTED; 739 return FALSE; 740 } 741 742 /* 743 * @unimplemented 744 */ 745 BOOL 746 APIENTRY 747 NtGdiAddRemoteMMInstanceToDC( 748 IN HDC hdc, 749 IN DOWNLOADDESIGNVECTOR *pddv, 750 IN ULONG cjDDV) 751 { 752 UNIMPLEMENTED; 753 return FALSE; 754 } 755 756 /* 757 * @unimplemented 758 */ 759 BOOL 760 APIENTRY 761 NtGdiFontIsLinked(IN HDC hdc) 762 { 763 UNIMPLEMENTED; 764 return FALSE; 765 } 766 767 /* 768 * @unimplemented 769 */ 770 BOOL 771 APIENTRY 772 NtGdiCheckBitmapBits( 773 IN HDC hdc, 774 IN HANDLE hColorTransform, 775 IN PVOID pvBits, 776 IN ULONG bmFormat, 777 IN DWORD dwWidth, 778 IN DWORD dwHeight, 779 IN DWORD dwStride, 780 OUT PBYTE paResults) 781 { 782 UNIMPLEMENTED; 783 return FALSE; 784 } 785 786 /* 787 * @unimplemented 788 */ 789 HBITMAP 790 APIENTRY 791 NtGdiClearBitmapAttributes( 792 IN HBITMAP hbm, 793 IN DWORD dwFlags) 794 { 795 UNIMPLEMENTED; 796 return NULL; 797 } 798 799 /* 800 * @unimplemented 801 */ 802 BOOL 803 APIENTRY 804 NtGdiGetUFI( 805 IN HDC hdc, 806 OUT PUNIVERSAL_FONT_ID pufi, 807 OUT OPTIONAL DESIGNVECTOR *pdv, 808 OUT ULONG *pcjDV, 809 OUT ULONG *pulBaseCheckSum, 810 OUT FLONG *pfl) 811 { 812 UNIMPLEMENTED; 813 return FALSE; 814 } 815 816 817 /* 818 * @unimplemented 819 */ 820 ULONG 821 APIENTRY 822 NtGdiColorCorrectPalette( 823 IN HDC hdc, 824 IN HPALETTE hpal, 825 IN ULONG FirstEntry, 826 IN ULONG NumberOfEntries, 827 IN OUT PALETTEENTRY *ppalEntry, 828 IN ULONG Command) 829 { 830 UNIMPLEMENTED; 831 return 0; 832 } 833 834 /* 835 * @unimplemented 836 */ 837 HANDLE 838 APIENTRY 839 NtGdiCreateColorTransform( 840 IN HDC hdc, 841 IN LPLOGCOLORSPACEW pLogColorSpaceW, 842 IN OPTIONAL PVOID pvSrcProfile, 843 IN ULONG cjSrcProfile, 844 IN OPTIONAL PVOID pvDestProfile, 845 IN ULONG cjDestProfile, 846 IN OPTIONAL PVOID pvTargetProfile, 847 IN ULONG cjTargetProfile) 848 { 849 UNIMPLEMENTED; 850 return NULL; 851 } 852 853 /* 854 * @unimplemented 855 */ 856 BOOL 857 APIENTRY 858 NtGdiComputeXformCoefficients(IN HDC hdc) 859 { 860 UNIMPLEMENTED; 861 return FALSE; 862 } 863 864 /* 865 * @unimplemented 866 */ 867 BOOL 868 APIENTRY 869 NtGdiConsoleTextOut( 870 IN HDC hdc, 871 IN POLYTEXTW *lpto, 872 IN UINT nStrings, 873 IN RECTL *prclBounds) 874 { 875 UNIMPLEMENTED; 876 return FALSE; 877 } 878 879 /* 880 * @unimplemented 881 */ 882 BOOL 883 APIENTRY 884 NtGdiDeleteColorTransform( 885 IN HDC hdc, 886 IN HANDLE hColorTransform) 887 { 888 UNIMPLEMENTED; 889 return FALSE; 890 } 891 892 /* 893 * @unimplemented 894 */ 895 ULONG 896 APIENTRY 897 NtGdiGetPerBandInfo( 898 IN HDC hdc, 899 IN OUT PERBANDINFO *ppbi) 900 { 901 UNIMPLEMENTED; 902 return 0; 903 } 904 905 /* 906 * @unimplemented 907 */ 908 BOOL 909 APIENTRY 910 NtGdiDoBanding( 911 IN HDC hdc, 912 IN BOOL bStart, 913 OUT POINTL *pptl, 914 OUT PSIZE pSize) 915 { 916 UNIMPLEMENTED; 917 return FALSE; 918 } 919 920 /* 921 * @unimplemented 922 */ 923 BOOL 924 APIENTRY 925 NtGdiEnumFontChunk( 926 IN HDC hdc, 927 IN ULONG_PTR idEnum, 928 IN ULONG cjEfdw, 929 OUT ULONG *pcjEfdw, 930 OUT PENUMFONTDATAW pefdw) 931 { 932 UNIMPLEMENTED; 933 return FALSE; 934 } 935 936 /* 937 * @unimplemented 938 */ 939 BOOL 940 APIENTRY 941 NtGdiEnumFontClose( 942 IN ULONG_PTR idEnum) 943 { 944 UNIMPLEMENTED; 945 return FALSE; 946 } 947 948 /* 949 * @unimplemented 950 */ 951 ULONG_PTR 952 APIENTRY 953 NtGdiEnumFontOpen( 954 IN HDC hdc, 955 IN ULONG iEnumType, 956 IN FLONG flWin31Compat, 957 IN ULONG cwchMax, 958 IN OPTIONAL LPWSTR pwszFaceName, 959 IN ULONG lfCharSet, 960 OUT ULONG *pulCount) 961 { 962 UNIMPLEMENTED; 963 return 0; 964 } 965 966 /* 967 * @unimplemented 968 */ 969 BOOL 970 APIENTRY 971 NtGdiEudcLoadUnloadLink( 972 IN OPTIONAL LPCWSTR pBaseFaceName, 973 IN UINT cwcBaseFaceName, 974 IN LPCWSTR pEudcFontPath, 975 IN UINT cwcEudcFontPath, 976 IN INT iPriority, 977 IN INT iFontLinkType, 978 IN BOOL bLoadLin) 979 { 980 UNIMPLEMENTED; 981 return FALSE; 982 } 983 984 /* 985 * @unimplemented 986 */ 987 BOOL 988 APIENTRY 989 NtGdiForceUFIMapping( 990 IN HDC hdc, 991 IN PUNIVERSAL_FONT_ID pufi) 992 { 993 UNIMPLEMENTED; 994 return FALSE; 995 } 996 997 /* 998 * @unimplemented 999 */ 1000 NTSTATUS 1001 APIENTRY 1002 NtGdiFullscreenControl( 1003 IN FULLSCREENCONTROL FullscreenCommand, 1004 IN PVOID FullscreenInput, 1005 IN DWORD FullscreenInputLength, 1006 OUT PVOID FullscreenOutput, 1007 IN OUT PULONG FullscreenOutputLength) 1008 { 1009 UNIMPLEMENTED; 1010 return FALSE; 1011 } 1012 1013 /* 1014 * @unimplemented 1015 */ 1016 BOOL 1017 APIENTRY 1018 NtGdiGetCharWidthInfo( 1019 IN HDC hdc, 1020 OUT PCHWIDTHINFO pChWidthInfo) 1021 { 1022 UNIMPLEMENTED; 1023 return FALSE; 1024 } 1025 1026 /* 1027 * @unimplemented 1028 */ 1029 ULONG_PTR 1030 APIENTRY 1031 NtGdiGetColorSpaceforBitmap( 1032 IN HBITMAP hsurf) 1033 { 1034 UNIMPLEMENTED; 1035 return 0; 1036 } 1037 1038 /* 1039 * @unimplemented 1040 */ 1041 BOOL 1042 APIENTRY 1043 NtGdiGetETM( 1044 IN HDC hdc, 1045 OUT EXTTEXTMETRIC *petm) 1046 { 1047 UNIMPLEMENTED; 1048 return FALSE; 1049 } 1050 1051 /* 1052 * @unimplemented 1053 */ 1054 ULONG 1055 APIENTRY 1056 NtGdiGetEudcTimeStampEx( 1057 IN OPTIONAL LPWSTR lpBaseFaceName, 1058 IN ULONG cwcBaseFaceName, 1059 IN BOOL bSystemTimeStamp) 1060 { 1061 UNIMPLEMENTED; 1062 return 0; 1063 } 1064 1065 /* 1066 * @implemented 1067 */ 1068 BOOL 1069 APIENTRY 1070 NtGdiInitSpool(VOID) 1071 { 1072 EngSetLastError(ERROR_NOT_SUPPORTED); 1073 return FALSE; 1074 } 1075 1076 /* 1077 * @unimplemented 1078 */ 1079 INT 1080 APIENTRY 1081 NtGdiQueryFonts( 1082 OUT PUNIVERSAL_FONT_ID pufiFontList, 1083 IN ULONG nBufferSize, 1084 OUT PLARGE_INTEGER pTimeStamp) 1085 { 1086 UNIMPLEMENTED; 1087 return 0; 1088 } 1089 1090 /* 1091 * @implemented 1092 */ 1093 INT 1094 APIENTRY 1095 NtGdiGetSpoolMessage( 1096 DWORD u1, 1097 DWORD u2, 1098 DWORD u3, 1099 DWORD u4) 1100 { 1101 /* FIXME: The prototypes */ 1102 EngSetLastError(ERROR_NOT_SUPPORTED); 1103 return 0; 1104 } 1105 1106 /* 1107 * @unimplemented 1108 */ 1109 DWORD 1110 APIENTRY 1111 NtGdiGetGlyphIndicesWInternal( 1112 IN HDC hdc, 1113 IN OPTIONAL LPWSTR pwc, 1114 IN INT cwc, 1115 OUT OPTIONAL LPWORD pgi, 1116 IN DWORD iMode, 1117 IN BOOL bSubset) 1118 { 1119 UNIMPLEMENTED; 1120 return 0; 1121 } 1122 1123 /* 1124 * @unimplemented 1125 */ 1126 INT 1127 APIENTRY 1128 NtGdiGetLinkedUFIs( 1129 IN HDC hdc, 1130 OUT OPTIONAL PUNIVERSAL_FONT_ID pufiLinkedUFIs, 1131 IN INT BufferSize) 1132 { 1133 UNIMPLEMENTED; 1134 return 0; 1135 } 1136 1137 /* 1138 * @unimplemented 1139 */ 1140 BOOL 1141 APIENTRY 1142 NtGdiGetMonitorID( 1143 IN HDC hdc, 1144 IN DWORD dwSize, 1145 OUT LPWSTR pszMonitorID) 1146 { 1147 UNIMPLEMENTED; 1148 return FALSE; 1149 } 1150 1151 /* 1152 * @unimplemented 1153 */ 1154 BOOL 1155 APIENTRY 1156 NtGdiDrawStream( 1157 IN HDC hdcDst, 1158 IN ULONG cjIn, 1159 IN VOID *pvIn) 1160 { 1161 UNIMPLEMENTED; 1162 return FALSE; 1163 } 1164 1165 /* 1166 * @unimplemented 1167 */ 1168 BOOL 1169 APIENTRY 1170 NtGdiUpdateTransform(IN HDC hdc) 1171 { 1172 UNIMPLEMENTED; 1173 return FALSE; 1174 } 1175 1176 /* 1177 * @unimplemented 1178 */ 1179 ULONG 1180 APIENTRY 1181 NtGdiQueryFontAssocInfo( 1182 IN HDC hdc) 1183 { 1184 UNIMPLEMENTED; 1185 return 0; 1186 } 1187 1188 /* 1189 * @unimplemented 1190 */ 1191 UINT 1192 APIENTRY 1193 NtGdiGetStringBitmapW( 1194 IN HDC hdc, 1195 IN LPWSTR pwsz, 1196 IN UINT cwc, 1197 OUT BYTE *lpSB, 1198 IN UINT cj) 1199 { 1200 UNIMPLEMENTED; 1201 return 0; 1202 } 1203 1204 /* 1205 * @unimplemented 1206 */ 1207 BOOL 1208 APIENTRY 1209 NtGdiRemoveFontResourceW( 1210 IN WCHAR *pwszFiles, 1211 IN ULONG cwc, 1212 IN ULONG cFiles, 1213 IN ULONG fl, 1214 IN DWORD dwPidTid, 1215 IN OPTIONAL DESIGNVECTOR *pdv) 1216 { 1217 UNIMPLEMENTED; 1218 return FALSE; 1219 } 1220 1221 /* 1222 * @unimplemented 1223 */ 1224 BOOL 1225 APIENTRY 1226 NtGdiPolyTextOutW( 1227 IN HDC hdc, 1228 IN POLYTEXTW *pptw, 1229 IN UINT cStr, 1230 IN DWORD dwCodePage) 1231 { 1232 UNIMPLEMENTED; 1233 return FALSE; 1234 } 1235 1236 /* 1237 * @unimplemented 1238 */ 1239 NTSTATUS 1240 APIENTRY 1241 NtGdiGetStats( 1242 IN HANDLE hProcess, 1243 IN INT iIndex, 1244 IN INT iPidType, 1245 OUT PVOID pResults, 1246 IN UINT cjResultSize) 1247 { 1248 UNIMPLEMENTED; 1249 return STATUS_NOT_IMPLEMENTED; 1250 } 1251 1252 /* 1253 * @unimplemented 1254 */ 1255 INT 1256 APIENTRY 1257 NtGdiSetupPublicCFONT( 1258 IN HDC hdc, 1259 IN OPTIONAL HFONT hf, 1260 IN ULONG ulAve) 1261 { 1262 UNIMPLEMENTED; 1263 return 0; 1264 } 1265 1266 /* 1267 * @unimplemented 1268 */ 1269 BOOL 1270 APIENTRY 1271 NtGdiGetEmbUFI( 1272 IN HDC hdc, 1273 OUT PUNIVERSAL_FONT_ID pufi, 1274 OUT OPTIONAL DESIGNVECTOR *pdv, 1275 OUT ULONG *pcjDV, 1276 OUT ULONG *pulBaseCheckSum, 1277 OUT FLONG *pfl, 1278 OUT KERNEL_PVOID *embFontID) 1279 { 1280 UNIMPLEMENTED; 1281 return FALSE; 1282 } 1283 1284 /* 1285 * @unimplemented 1286 */ 1287 BOOL 1288 APIENTRY 1289 NtGdiGetUFIPathname( 1290 IN PUNIVERSAL_FONT_ID pufi, 1291 OUT OPTIONAL ULONG* pcwc, 1292 OUT OPTIONAL LPWSTR pwszPathname, 1293 OUT OPTIONAL ULONG* pcNumFiles, 1294 IN FLONG fl, 1295 OUT OPTIONAL BOOL *pbMemFont, 1296 OUT OPTIONAL ULONG *pcjView, 1297 OUT OPTIONAL PVOID pvView, 1298 OUT OPTIONAL BOOL *pbTTC, 1299 OUT OPTIONAL ULONG *piTTC) 1300 { 1301 UNIMPLEMENTED; 1302 return FALSE; 1303 } 1304 1305 /* 1306 * @unimplemented 1307 */ 1308 ULONG 1309 APIENTRY 1310 NtGdiGetEmbedFonts( 1311 VOID) 1312 { 1313 UNIMPLEMENTED; 1314 return 0; 1315 } 1316 1317 /* 1318 * @unimplemented 1319 */ 1320 BOOL 1321 APIENTRY 1322 NtGdiChangeGhostFont( 1323 IN KERNEL_PVOID *pfontID, 1324 IN BOOL bLoad) 1325 { 1326 UNIMPLEMENTED; 1327 return FALSE; 1328 } 1329 1330 /* 1331 * @unimplemented 1332 */ 1333 BOOL 1334 APIENTRY 1335 NtGdiAddEmbFontToDC( 1336 IN HDC hdc, 1337 IN VOID **pFontID) 1338 { 1339 UNIMPLEMENTED; 1340 return FALSE; 1341 } 1342 1343 /* 1344 * @unimplemented 1345 */ 1346 BOOL 1347 APIENTRY 1348 NtGdiGetWidthTable( 1349 IN HDC hdc, 1350 IN ULONG cSpecial, 1351 IN WCHAR *pwc, 1352 IN ULONG cwc, 1353 OUT USHORT *psWidth, 1354 OUT OPTIONAL WIDTHDATA *pwd, 1355 OUT FLONG *pflInfo) 1356 { 1357 UNIMPLEMENTED; 1358 return FALSE; 1359 } 1360 1361 /* 1362 * @unimplemented 1363 */ 1364 BOOL 1365 APIENTRY 1366 NtGdiIcmBrushInfo( 1367 IN HDC hdc, 1368 IN HBRUSH hbrush, 1369 IN OUT PBITMAPINFO pbmiDIB, 1370 IN OUT PVOID pvBits, 1371 IN OUT ULONG *pulBits, 1372 OUT OPTIONAL DWORD *piUsage, 1373 OUT OPTIONAL BOOL *pbAlreadyTran, 1374 IN ULONG Command) 1375 { 1376 UNIMPLEMENTED; 1377 return FALSE; 1378 } 1379 1380 /* 1381 * @unimplemented 1382 */ 1383 ULONG 1384 APIENTRY 1385 NtGdiMakeFontDir( 1386 IN FLONG flEmbed, 1387 OUT PBYTE pjFontDir, 1388 IN unsigned cjFontDir, 1389 IN LPWSTR pwszPathname, 1390 IN unsigned cjPathname) 1391 { 1392 UNIMPLEMENTED; 1393 return 0; 1394 } 1395 1396 /* 1397 * @unimplemented 1398 */ 1399 BOOL 1400 APIENTRY 1401 NtGdiMonoBitmap( 1402 IN HBITMAP hbm) 1403 { 1404 UNIMPLEMENTED; 1405 return FALSE; 1406 } 1407 1408 /* 1409 * @unimplemented 1410 */ 1411 HBITMAP 1412 APIENTRY 1413 NtGdiSetBitmapAttributes( 1414 IN HBITMAP hbm, 1415 IN DWORD dwFlags) 1416 { 1417 UNIMPLEMENTED; 1418 return NULL; 1419 } 1420 1421 /* 1422 * @unimplemented 1423 */ 1424 ULONG 1425 APIENTRY 1426 NtGdiSetFontEnumeration( 1427 IN ULONG ulType) 1428 { 1429 UNIMPLEMENTED; 1430 return 0; 1431 } 1432 1433 /* 1434 * @unimplemented 1435 */ 1436 BOOL 1437 APIENTRY 1438 NtGdiSetFontXform( 1439 IN HDC hdc, 1440 IN DWORD dwxScale, 1441 IN DWORD dwyScale) 1442 { 1443 UNIMPLEMENTED; 1444 return FALSE; 1445 } 1446 1447 /* 1448 * @unimplemented 1449 */ 1450 BOOL 1451 APIENTRY 1452 NtGdiSetLinkedUFIs( 1453 IN HDC hdc, 1454 IN PUNIVERSAL_FONT_ID pufiLinks, 1455 IN ULONG uNumUFIs) 1456 { 1457 UNIMPLEMENTED; 1458 return FALSE; 1459 } 1460 1461 /* 1462 * @unimplemented 1463 */ 1464 BOOL 1465 APIENTRY 1466 NtGdiSetMagicColors( 1467 IN HDC hdc, 1468 IN PALETTEENTRY peMagic, 1469 IN ULONG Index) 1470 { 1471 UNIMPLEMENTED; 1472 return FALSE; 1473 } 1474 1475 /* 1476 * @implemented 1477 */ 1478 BOOL 1479 APIENTRY 1480 NtGdiUnloadPrinterDriver( 1481 IN LPWSTR pDriverName, 1482 IN ULONG cbDriverName) 1483 { 1484 EngSetLastError(ERROR_NOT_SUPPORTED); 1485 return FALSE; 1486 } 1487 1488 /* 1489 * @implemented 1490 */ 1491 BOOL 1492 APIENTRY 1493 NtGdiUnmapMemFont( 1494 IN PVOID pvView) 1495 { 1496 return TRUE; 1497 } 1498 1499 BOOL 1500 APIENTRY 1501 EngControlSprites( 1502 IN WNDOBJ *pwo, 1503 IN FLONG fl) 1504 { 1505 UNIMPLEMENTED; 1506 return FALSE; 1507 } 1508 1509 _Must_inspect_result_ 1510 _Ret_opt_bytecap_(cjSize) 1511 ENGAPI 1512 PVOID 1513 APIENTRY 1514 EngFntCacheAlloc( 1515 _In_ ULONG ulFastCheckSum, 1516 _In_ ULONG cjSize) 1517 { 1518 UNIMPLEMENTED; 1519 return NULL; 1520 } 1521 1522 VOID 1523 APIENTRY 1524 EngFntCacheFault( 1525 IN ULONG ulFastCheckSum, 1526 IN ULONG iFaultMode) 1527 { 1528 UNIMPLEMENTED; 1529 } 1530 1531 PVOID 1532 APIENTRY 1533 EngFntCacheLookUp( 1534 IN ULONG FastCheckSum, 1535 OUT PULONG pulSize) 1536 { 1537 UNIMPLEMENTED; 1538 return NULL; 1539 } 1540 1541 BOOLEAN 1542 APIENTRY 1543 EngNineGrid( 1544 IN SURFOBJ* pDestSurfaceObj, 1545 IN SURFOBJ* pSourceSurfaceObj, 1546 IN CLIPOBJ* pClipObj, 1547 IN XLATEOBJ* pXlateObj, 1548 IN RECTL* prclSource, 1549 IN RECTL* prclDest, 1550 PVOID pvUnknown1, 1551 PVOID pvUnknown2, 1552 DWORD dwReserved) 1553 { 1554 UNIMPLEMENTED; 1555 return FALSE; 1556 } 1557 1558 /* EOF */ 1559