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 LARGE_INTEGER 584 APIENTRY 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 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 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 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 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 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 669 NtGdiAnyLinkedFonts(VOID) 670 { 671 UNIMPLEMENTED; 672 return FALSE; 673 } 674 675 /* 676 * @unimplemented 677 */ 678 BOOL 679 APIENTRY 680 NtGdiEnableEudc(BOOL enable) 681 { 682 UNIMPLEMENTED; 683 return FALSE; 684 } 685 686 /* 687 * @unimplemented 688 */ 689 BOOL 690 APIENTRY 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 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 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 733 NtGdiFontIsLinked(IN HDC hdc) 734 { 735 UNIMPLEMENTED; 736 return FALSE; 737 } 738 739 /* 740 * @unimplemented 741 */ 742 BOOL 743 APIENTRY 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 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 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 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 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 836 NtGdiComputeXformCoefficients(IN HDC hdc) 837 { 838 UNIMPLEMENTED; 839 return FALSE; 840 } 841 842 /* 843 * @unimplemented 844 */ 845 BOOL 846 APIENTRY 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 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 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 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 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 919 NtGdiEnumFontClose( 920 IN ULONG_PTR idEnum) 921 { 922 UNIMPLEMENTED; 923 return FALSE; 924 } 925 926 /* 927 * @unimplemented 928 */ 929 ULONG_PTR 930 APIENTRY 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 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 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 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 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 1009 NtGdiGetColorSpaceforBitmap( 1010 IN HBITMAP hsurf) 1011 { 1012 UNIMPLEMENTED; 1013 return 0; 1014 } 1015 1016 /* 1017 * @unimplemented 1018 */ 1019 BOOL 1020 APIENTRY 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 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 1048 NtGdiInitSpool(VOID) 1049 { 1050 EngSetLastError(ERROR_NOT_SUPPORTED); 1051 return FALSE; 1052 } 1053 1054 /* 1055 * @unimplemented 1056 */ 1057 INT 1058 APIENTRY 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 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 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 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 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 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 1148 NtGdiUpdateTransform(IN HDC hdc) 1149 { 1150 UNIMPLEMENTED; 1151 return FALSE; 1152 } 1153 1154 /* 1155 * @unimplemented 1156 */ 1157 ULONG 1158 APIENTRY 1159 NtGdiQueryFontAssocInfo( 1160 IN HDC hdc) 1161 { 1162 UNIMPLEMENTED; 1163 return 0; 1164 } 1165 1166 /* 1167 * @unimplemented 1168 */ 1169 UINT 1170 APIENTRY 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 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 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 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 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 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 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 1288 NtGdiGetEmbedFonts( 1289 VOID) 1290 { 1291 UNIMPLEMENTED; 1292 return 0; 1293 } 1294 1295 /* 1296 * @unimplemented 1297 */ 1298 BOOL 1299 APIENTRY 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 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 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 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 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 1379 NtGdiMonoBitmap( 1380 IN HBITMAP hbm) 1381 { 1382 UNIMPLEMENTED; 1383 return FALSE; 1384 } 1385 1386 /* 1387 * @implemented 1388 */ 1389 HBITMAP 1390 APIENTRY 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 1410 NtGdiSetFontEnumeration( 1411 IN ULONG ulType) 1412 { 1413 UNIMPLEMENTED; 1414 return 0; 1415 } 1416 1417 /* 1418 * @unimplemented 1419 */ 1420 BOOL 1421 APIENTRY 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 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 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 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 1477 NtGdiUnmapMemFont( 1478 IN PVOID pvView) 1479 { 1480 return TRUE; 1481 } 1482 1483 BOOL 1484 APIENTRY 1485 EngControlSprites( 1486 IN WNDOBJ *pwo, 1487 IN FLONG fl) 1488 { 1489 UNIMPLEMENTED; 1490 return FALSE; 1491 } 1492 1493 _Must_inspect_result_ 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 1508 EngFntCacheFault( 1509 IN ULONG ulFastCheckSum, 1510 IN ULONG iFaultMode) 1511 { 1512 UNIMPLEMENTED; 1513 } 1514 1515 PVOID 1516 APIENTRY 1517 EngFntCacheLookUp( 1518 IN ULONG FastCheckSum, 1519 OUT PULONG pulSize) 1520 { 1521 UNIMPLEMENTED; 1522 return NULL; 1523 } 1524 1525 BOOLEAN 1526 APIENTRY 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