[PSDK]
[reactos.git] / reactos / include / psdk / ntgdi.h
1 /*
2 * NtGdi Entrypoints
3 */
4 #ifndef _NTGDI_
5 #define _NTGDI_
6
7 #ifndef W32KAPI
8 #define W32KAPI DECLSPEC_ADDRSAFE
9 #endif
10
11 #ifndef _WINDOWBLT_NOTIFICATION_
12 #define _WINDOWBLT_NOTIFICATION_
13 #endif
14
15 #define TRACE_SURFACE_ALLOCS (DBG || 0)
16
17 /* NtGdiGetLinkedUfis */
18 #define FL_UFI_PRIVATEFONT 1
19 #define FL_UFI_DESIGNVECTOR_PFF 2
20 #define FL_UFI_MEMORYFONT 4
21
22 /* NtGdiSetIcmMode */
23 #define ICM_SET_MODE 1
24 #define ICM_SET_CALIBRATE_MODE 2
25 #define ICM_SET_COLOR_MODE 3
26 #define ICM_CHECK_COLOR_MODE 4
27
28 /* NtGdiCreateColorSpace */
29 #define LCSEX_ANSICREATED 1
30 #define LCSEX_TEMPPROFILE 2
31
32 /* NtGdiGetStats */
33 #define GS_NUM_OBJS_ALL 0
34 #define GS_HANDOBJ_CURRENT 1
35 #define GS_HANDOBJ_MAX 2
36 #define GS_HANDOBJ_ALLOC 3
37 #define GS_LOOKASIDE_INFO 4
38
39 /* NtGdiEnumFontOpen */
40 #define TYPE_ENUMFONTS 1
41 #define TYPE_ENUMFONTFAMILIES 2
42 #define TYPE_ENUMFONTFAMILIESEX 3
43
44 typedef enum _COLORPALETTEINFO
45 {
46 ColorPaletteQuery,
47 ColorPaletteSet
48 } COLORPALETTEINFO, *PCOLORPALETTEINFO;
49
50 /* NtGdiIcmBrushInfo */
51 typedef enum _ICM_DIB_INFO_CMD
52 {
53 IcmQueryBrush,
54 IcmSetBrush
55 } ICM_DIB_INFO, *PICM_DIB_INFO;
56
57 /* NtGdiCreateColorSpace */
58 typedef struct _LOGCOLORSPACEEXW
59 {
60 LOGCOLORSPACEW lcsColorSpace;
61 DWORD dwFlags;
62 } LOGCOLORSPACEEXW, *PLOGCOLORSPACEEXW;
63
64 typedef struct _POLYPATBLT
65 {
66 INT nXLeft;
67 INT nYLeft;
68 INT nWidth;
69 INT nHeight;
70 HBRUSH hBrush;
71 } POLYPATBLT, *PPOLYPATBLT;
72
73 /* NtGdiAddRemoteMMInstanceToDC */
74 typedef struct tagDOWNLOADDESIGNVECTOR
75 {
76 UNIVERSAL_FONT_ID ufiBase;
77 DESIGNVECTOR dv;
78 } DOWNLOADDESIGNVECTOR;
79
80 W32KAPI
81 BOOL
82 APIENTRY
83 NtGdiInit(VOID);
84
85 W32KAPI
86 INT
87 APIENTRY
88 NtGdiSetDIBitsToDeviceInternal(
89 _In_ HDC hdcDest,
90 _In_ INT xDst,
91 _In_ INT yDst,
92 _In_ DWORD cx,
93 _In_ DWORD cy,
94 _In_ INT xSrc,
95 _In_ INT ySrc,
96 _In_ DWORD iStartScan,
97 _In_ DWORD cNumScan,
98 IN LPBYTE pInitBits,
99 IN LPBITMAPINFO pbmi,
100 _In_ DWORD iUsage,
101 _In_ UINT cjMaxBits,
102 _In_ UINT cjMaxInfo,
103 _In_ BOOL bTransformCoordinates,
104 _In_opt_ HANDLE hcmXform
105 );
106
107 W32KAPI
108 BOOL
109 APIENTRY
110 NtGdiGetFontResourceInfoInternalW(
111 IN LPWSTR pwszFiles,
112 _In_ ULONG cwc,
113 _In_ ULONG cFiles,
114 _In_ UINT cjIn,
115 OUT LPDWORD pdwBytes,
116 OUT LPVOID pvBuf,
117 _In_ DWORD iType
118 );
119
120 W32KAPI
121 DWORD
122 APIENTRY
123 NtGdiGetGlyphIndicesW(
124 _In_ HDC hdc,
125 IN OPTIONAL LPWSTR pwc,
126 _In_ INT cwc,
127 OUT OPTIONAL LPWORD pgi,
128 _In_ DWORD iMode
129 );
130
131 W32KAPI
132 DWORD
133 APIENTRY
134 NtGdiGetGlyphIndicesWInternal(
135 _In_ HDC hdc,
136 IN OPTIONAL LPWSTR pwc,
137 _In_ INT cwc,
138 OUT OPTIONAL LPWORD pgi,
139 _In_ DWORD iMode,
140 _In_ BOOL bSubset
141 );
142
143 W32KAPI
144 HPALETTE
145 APIENTRY
146 NtGdiCreatePaletteInternal(
147 IN LPLOGPALETTE pLogPal,
148 _In_ UINT cEntries
149 );
150
151 W32KAPI
152 BOOL
153 APIENTRY
154 NtGdiArcInternal(
155 _In_ ARCTYPE arctype,
156 _In_ HDC hdc,
157 _In_ INT x1,
158 _In_ INT y1,
159 _In_ INT x2,
160 _In_ INT y2,
161 _In_ INT x3,
162 _In_ INT y3,
163 _In_ INT x4,
164 _In_ INT y4);
165
166 W32KAPI
167 INT
168 APIENTRY
169 NtGdiStretchDIBitsInternal(
170 _In_ HDC hdc,
171 _In_ INT xDst,
172 _In_ INT yDst,
173 _In_ INT cxDst,
174 _In_ INT cyDst,
175 _In_ INT xSrc,
176 _In_ INT ySrc,
177 _In_ INT cxSrc,
178 _In_ INT cySrc,
179 _In_opt_ LPBYTE pjInit,
180 _In_ LPBITMAPINFO pbmi,
181 _In_ DWORD dwUsage,
182 _In_ DWORD dwRop4,
183 _In_ UINT cjMaxInfo,
184 _In_ UINT cjMaxBits,
185 _In_opt_ HANDLE hcmXform);
186
187 W32KAPI
188 ULONG
189 APIENTRY
190 NtGdiGetOutlineTextMetricsInternalW(
191 _In_ HDC hdc,
192 _In_ ULONG cjotm,
193 _Out_opt_ OUTLINETEXTMETRICW *potmw,
194 _Out_ TMDIFF *ptmd);
195
196 _Success_(return != FALSE)
197 W32KAPI
198 BOOL
199 APIENTRY
200 NtGdiGetAndSetDCDword(
201 _In_ HDC hdc,
202 _In_ UINT u,
203 _In_ DWORD dwIn,
204 _Out_ DWORD *pdwResult);
205
206 W32KAPI
207 HANDLE
208 APIENTRY
209 NtGdiGetDCObject(
210 _In_ HDC hdc,
211 _In_ INT itype);
212
213 W32KAPI
214 HDC
215 APIENTRY
216 NtGdiGetDCforBitmap(
217 _In_ HBITMAP hsurf);
218
219 W32KAPI
220 BOOL
221 APIENTRY
222 NtGdiGetMonitorID(
223 _In_ HDC hdc,
224 _In_ DWORD dwSize,
225 _Out_ LPWSTR pszMonitorID);
226
227 W32KAPI
228 INT
229 APIENTRY
230 NtGdiGetLinkedUFIs(
231 _In_ HDC hdc,
232 OUT OPTIONAL PUNIVERSAL_FONT_ID pufiLinkedUFIs,
233 _In_ INT BufferSize
234 );
235
236 W32KAPI
237 BOOL
238 APIENTRY
239 NtGdiSetLinkedUFIs(
240 _In_ HDC hdc,
241 IN PUNIVERSAL_FONT_ID pufiLinks,
242 _In_ ULONG uNumUFIs
243 );
244
245 W32KAPI
246 BOOL
247 APIENTRY
248 NtGdiGetUFI(
249 _In_ HDC hdc,
250 OUT PUNIVERSAL_FONT_ID pufi,
251 OUT OPTIONAL DESIGNVECTOR *pdv,
252 OUT ULONG *pcjDV,
253 OUT ULONG *pulBaseCheckSum,
254 OUT FLONG *pfl
255 );
256
257 W32KAPI
258 BOOL
259 APIENTRY
260 NtGdiForceUFIMapping(
261 _In_ HDC hdc,
262 IN PUNIVERSAL_FONT_ID pufi
263 );
264
265 W32KAPI
266 BOOL
267 APIENTRY
268 NtGdiGetUFIPathname(
269 IN PUNIVERSAL_FONT_ID pufi,
270 OUT OPTIONAL ULONG* pcwc,
271 OUT OPTIONAL LPWSTR pwszPathname,
272 OUT OPTIONAL ULONG* pcNumFiles,
273 _In_ FLONG fl,
274 OUT OPTIONAL BOOL *pbMemFont,
275 OUT OPTIONAL ULONG *pcjView,
276 OUT OPTIONAL PVOID pvView,
277 OUT OPTIONAL BOOL *pbTTC,
278 OUT OPTIONAL ULONG *piTTC
279 );
280
281 W32KAPI
282 BOOL
283 APIENTRY
284 NtGdiAddRemoteFontToDC(
285 _In_ HDC hdc,
286 _In_ PVOID pvBuffer,
287 _In_ ULONG cjBuffer,
288 IN OPTIONAL PUNIVERSAL_FONT_ID pufi
289 );
290
291 W32KAPI
292 HANDLE
293 APIENTRY
294 NtGdiAddFontMemResourceEx(
295 _In_ PVOID pvBuffer,
296 _In_ DWORD cjBuffer,
297 IN DESIGNVECTOR *pdv,
298 _In_ ULONG cjDV,
299 OUT DWORD *pNumFonts
300 );
301
302 W32KAPI
303 BOOL
304 APIENTRY
305 NtGdiRemoveFontMemResourceEx(
306 _In_ HANDLE hMMFont);
307
308 W32KAPI
309 BOOL
310 APIENTRY
311 NtGdiUnmapMemFont(
312 _In_ PVOID pvView);
313
314 W32KAPI
315 BOOL
316 APIENTRY
317 NtGdiRemoveMergeFont(
318 _In_ HDC hdc,
319 IN UNIVERSAL_FONT_ID *pufi
320 );
321
322 W32KAPI
323 BOOL
324 APIENTRY
325 NtGdiAnyLinkedFonts(VOID);
326
327 W32KAPI
328 BOOL
329 APIENTRY
330 NtGdiGetEmbUFI(
331 _In_ HDC hdc,
332 OUT PUNIVERSAL_FONT_ID pufi,
333 OUT OPTIONAL DESIGNVECTOR *pdv,
334 OUT ULONG *pcjDV,
335 OUT ULONG *pulBaseCheckSum,
336 OUT FLONG *pfl,
337 OUT KERNEL_PVOID *embFontID
338 );
339
340 W32KAPI
341 ULONG
342 APIENTRY
343 NtGdiGetEmbedFonts(VOID);
344
345 W32KAPI
346 BOOL
347 APIENTRY
348 NtGdiChangeGhostFont(
349 IN KERNEL_PVOID *pfontID,
350 _In_ BOOL bLoad
351 );
352
353 W32KAPI
354 BOOL
355 APIENTRY
356 NtGdiAddEmbFontToDC(
357 _In_ HDC hdc,
358 IN VOID **pFontID
359 );
360
361 W32KAPI
362 BOOL
363 APIENTRY
364 NtGdiFontIsLinked(
365 _In_ HDC hdc);
366
367 W32KAPI
368 ULONG_PTR
369 APIENTRY
370 NtGdiPolyPolyDraw(
371 _In_ HDC hdc,
372 _In_ PPOINT ppt,
373 _In_ PULONG pcpt,
374 _In_ ULONG ccpt,
375 _In_ INT iFunc);
376
377 W32KAPI
378 LONG
379 APIENTRY
380 NtGdiDoPalette(
381 _In_ HGDIOBJ hObj,
382 _In_ WORD iStart,
383 _In_ WORD cEntries,
384 _When_((iFunc == GdiPalGetEntries) || (iFunc == GdiPalGetSystemEntries), _Out_writes_bytes_(cEntries*sizeof(PALETTEENTRY)))
385 _When_((iFunc != GdiPalGetEntries) && (iFunc != GdiPalGetSystemEntries), _In_reads_bytes_(cEntries*sizeof(PALETTEENTRY))) LPVOID pEntries,
386 _In_ DWORD iFunc,
387 _In_ BOOL bInbound);
388
389 W32KAPI
390 BOOL
391 APIENTRY
392 NtGdiComputeXformCoefficients(
393 _In_ HDC hdc);
394
395 W32KAPI
396 BOOL
397 APIENTRY
398 NtGdiGetWidthTable(
399 _In_ HDC hdc,
400 _In_ ULONG cSpecial,
401 IN WCHAR *pwc,
402 _In_ ULONG cwc,
403 OUT USHORT *psWidth,
404 OUT OPTIONAL WIDTHDATA *pwd,
405 OUT FLONG *pflInfo
406 );
407
408 _Success_(return != 0)
409 W32KAPI
410 INT
411 APIENTRY
412 NtGdiDescribePixelFormat(
413 _In_ HDC hdc,
414 _In_ INT ipfd,
415 _In_ UINT cjpfd,
416 _When_(cjpfd != 0, _Out_) PPIXELFORMATDESCRIPTOR ppfd);
417
418 W32KAPI
419 BOOL
420 APIENTRY
421 NtGdiSetPixelFormat(
422 _In_ HDC hdc,
423 _In_ INT ipfd);
424
425 W32KAPI
426 BOOL
427 APIENTRY
428 NtGdiSwapBuffers(
429 _In_ HDC hdc);
430
431 W32KAPI
432 INT
433 APIENTRY
434 NtGdiSetupPublicCFONT(
435 _In_ HDC hdc,
436 IN OPTIONAL HFONT hf,
437 _In_ ULONG ulAve
438 );
439
440 W32KAPI
441 DWORD
442 APIENTRY
443 NtGdiDxgGenericThunk(
444 _In_ ULONG_PTR ulIndex,
445 _In_ ULONG_PTR ulHandle,
446 IN OUT SIZE_T *pdwSizeOfPtr1,
447 IN OUT PVOID pvPtr1,
448 IN OUT SIZE_T *pdwSizeOfPtr2,
449 IN OUT PVOID pvPtr2
450 );
451
452 W32KAPI
453 DWORD
454 APIENTRY
455 NtGdiDdAddAttachedSurface(
456 _In_ HANDLE hSurface,
457 _In_ HANDLE hSurfaceAttached,
458 IN OUT PDD_ADDATTACHEDSURFACEDATA puAddAttachedSurfaceData
459 );
460
461 W32KAPI
462 BOOL
463 APIENTRY
464 NtGdiDdAttachSurface(
465 _In_ HANDLE hSurfaceFrom,
466 _In_ HANDLE hSurfaceTo);
467
468 W32KAPI
469 DWORD
470 APIENTRY
471 NtGdiDdBlt(
472 _In_ HANDLE hSurfaceDest,
473 _In_ HANDLE hSurfaceSrc,
474 IN OUT PDD_BLTDATA puBltData
475 );
476
477 W32KAPI
478 DWORD
479 APIENTRY
480 NtGdiDdCanCreateSurface(
481 _In_ HANDLE hDirectDraw,
482 IN OUT PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
483 );
484
485 W32KAPI
486 DWORD
487 APIENTRY
488 NtGdiDdColorControl(
489 _In_ HANDLE hSurface,
490 IN OUT PDD_COLORCONTROLDATA puColorControlData
491 );
492
493 W32KAPI
494 HANDLE
495 APIENTRY
496 NtGdiDdCreateDirectDrawObject(
497 _In_ HDC hdc);
498
499 W32KAPI
500 DWORD
501 APIENTRY
502 NtGdiDdCreateSurface(
503 _In_ HANDLE hDirectDraw,
504 IN HANDLE* hSurface,
505 IN OUT DDSURFACEDESC* puSurfaceDescription,
506 IN OUT DD_SURFACE_GLOBAL* puSurfaceGlobalData,
507 IN OUT DD_SURFACE_LOCAL* puSurfaceLocalData,
508 IN OUT DD_SURFACE_MORE* puSurfaceMoreData,
509 IN OUT DD_CREATESURFACEDATA* puCreateSurfaceData,
510 OUT HANDLE* puhSurface
511 );
512
513 W32KAPI
514 HANDLE
515 APIENTRY
516 NtGdiDdCreateSurfaceObject(
517 _In_ HANDLE hDirectDrawLocal,
518 _In_ HANDLE hSurface,
519 IN PDD_SURFACE_LOCAL puSurfaceLocal,
520 IN PDD_SURFACE_MORE puSurfaceMore,
521 IN PDD_SURFACE_GLOBAL puSurfaceGlobal,
522 _In_ BOOL bComplete
523 );
524
525 W32KAPI
526 BOOL
527 APIENTRY
528 NtGdiDdDeleteSurfaceObject(
529 _In_ HANDLE hSurface);
530
531 W32KAPI
532 BOOL
533 APIENTRY
534 NtGdiDdDeleteDirectDrawObject(
535 _In_ HANDLE hDirectDrawLocal);
536
537 W32KAPI
538 DWORD
539 APIENTRY
540 NtGdiDdDestroySurface(
541 _In_ HANDLE hSurface,
542 _In_ BOOL bRealDestroy);
543
544 W32KAPI
545 DWORD
546 APIENTRY
547 NtGdiDdFlip(
548 _In_ HANDLE hSurfaceCurrent,
549 _In_ HANDLE hSurfaceTarget,
550 _In_ HANDLE hSurfaceCurrentLeft,
551 _In_ HANDLE hSurfaceTargetLeft,
552 IN OUT PDD_FLIPDATA puFlipData
553 );
554
555 W32KAPI
556 DWORD
557 APIENTRY
558 NtGdiDdGetAvailDriverMemory(
559 _In_ HANDLE hDirectDraw,
560 IN OUT PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData
561 );
562
563 W32KAPI
564 DWORD
565 APIENTRY
566 NtGdiDdGetBltStatus(
567 _In_ HANDLE hSurface,
568 IN OUT PDD_GETBLTSTATUSDATA puGetBltStatusData
569 );
570
571 W32KAPI
572 HDC
573 APIENTRY
574 NtGdiDdGetDC(
575 _In_ HANDLE hSurface,
576 IN PALETTEENTRY* puColorTable
577 );
578
579 W32KAPI
580 DWORD
581 APIENTRY
582 NtGdiDdGetDriverInfo(
583 _In_ HANDLE hDirectDraw,
584 IN OUT PDD_GETDRIVERINFODATA puGetDriverInfoData
585 );
586
587 W32KAPI
588 DWORD
589 APIENTRY
590 NtGdiDdGetFlipStatus(
591 _In_ HANDLE hSurface,
592 IN OUT PDD_GETFLIPSTATUSDATA puGetFlipStatusData
593 );
594
595 W32KAPI
596 DWORD
597 APIENTRY
598 NtGdiDdGetScanLine(
599 _In_ HANDLE hDirectDraw,
600 IN OUT PDD_GETSCANLINEDATA puGetScanLineData
601 );
602
603 W32KAPI
604 DWORD
605 APIENTRY
606 NtGdiDdSetExclusiveMode(
607 _In_ HANDLE hDirectDraw,
608 IN OUT PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData
609 );
610
611 W32KAPI
612 DWORD
613 APIENTRY
614 NtGdiDdFlipToGDISurface(
615 _In_ HANDLE hDirectDraw,
616 IN OUT PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData
617 );
618
619 W32KAPI
620 DWORD
621 APIENTRY
622 NtGdiDdLock(
623 _In_ HANDLE hSurface,
624 IN OUT PDD_LOCKDATA puLockData,
625 _In_ HDC hdcClip
626 );
627
628 W32KAPI
629 BOOL
630 APIENTRY
631 NtGdiDdQueryDirectDrawObject(
632 _In_ HANDLE hDirectDrawLocal,
633 OUT PDD_HALINFO pHalInfo,
634 OUT DWORD* pCallBackFlags,
635 OUT OPTIONAL LPD3DNTHAL_CALLBACKS puD3dCallbacks,
636 OUT OPTIONAL LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
637 OUT OPTIONAL PDD_D3DBUFCALLBACKS puD3dBufferCallbacks,
638 OUT OPTIONAL LPDDSURFACEDESC puD3dTextureFormats,
639 OUT DWORD* puNumHeaps,
640 OUT OPTIONAL VIDEOMEMORY* puvmList,
641 OUT DWORD* puNumFourCC,
642 OUT OPTIONAL DWORD* puFourCC
643 );
644
645 W32KAPI
646 BOOL
647 APIENTRY
648 NtGdiDdReenableDirectDrawObject(
649 _In_ HANDLE hDirectDrawLocal,
650 IN OUT BOOL* pubNewMode
651 );
652
653 W32KAPI
654 BOOL
655 APIENTRY
656 NtGdiDdReleaseDC(
657 _In_ HANDLE hSurface);
658
659 W32KAPI
660 BOOL
661 APIENTRY
662 NtGdiDdResetVisrgn(
663 _In_ HANDLE hSurface,
664 _In_ HWND hwnd);
665
666 W32KAPI
667 DWORD
668 APIENTRY
669 NtGdiDdSetColorKey(
670 _In_ HANDLE hSurface,
671 IN OUT PDD_SETCOLORKEYDATA puSetColorKeyData
672 );
673
674 W32KAPI
675 DWORD
676 APIENTRY
677 NtGdiDdSetOverlayPosition(
678 _In_ HANDLE hSurfaceSource,
679 _In_ HANDLE hSurfaceDestination,
680 IN OUT PDD_SETOVERLAYPOSITIONDATA puSetOverlayPositionData
681 );
682
683 W32KAPI
684 DWORD
685 APIENTRY
686 NtGdiDdUnattachSurface(
687 _In_ HANDLE hSurface,
688 _In_ HANDLE hSurfaceAttached
689 );
690
691 W32KAPI
692 DWORD
693 APIENTRY
694 NtGdiDdUnlock(
695 _In_ HANDLE hSurface,
696 IN OUT PDD_UNLOCKDATA puUnlockData
697 );
698
699 W32KAPI
700 DWORD
701 APIENTRY
702 NtGdiDdUpdateOverlay(
703 _In_ HANDLE hSurfaceDestination,
704 _In_ HANDLE hSurfaceSource,
705 IN OUT PDD_UPDATEOVERLAYDATA puUpdateOverlayData
706 );
707
708 W32KAPI
709 DWORD
710 APIENTRY
711 NtGdiDdWaitForVerticalBlank(
712 _In_ HANDLE hDirectDraw,
713 IN OUT PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData
714 );
715
716 W32KAPI
717 HANDLE
718 APIENTRY
719 NtGdiDdGetDxHandle(
720 _In_opt_ HANDLE hDirectDraw,
721 _In_opt_ HANDLE hSurface,
722 _In_ BOOL bRelease);
723
724 W32KAPI
725 BOOL
726 APIENTRY
727 NtGdiDdSetGammaRamp(
728 _In_ HANDLE hDirectDraw,
729 _In_ HDC hdc,
730 _In_ LPVOID lpGammaRamp);
731
732 W32KAPI
733 DWORD
734 APIENTRY
735 NtGdiDdLockD3D(
736 _In_ HANDLE hSurface,
737 IN OUT PDD_LOCKDATA puLockData
738 );
739
740 W32KAPI
741 DWORD
742 APIENTRY
743 NtGdiDdUnlockD3D(
744 _In_ HANDLE hSurface,
745 IN OUT PDD_UNLOCKDATA puUnlockData
746 );
747
748 W32KAPI
749 DWORD
750 APIENTRY
751 NtGdiDdCreateD3DBuffer(
752 _In_ HANDLE hDirectDraw,
753 IN OUT HANDLE* hSurface,
754 IN OUT DDSURFACEDESC* puSurfaceDescription,
755 IN OUT DD_SURFACE_GLOBAL* puSurfaceGlobalData,
756 IN OUT DD_SURFACE_LOCAL* puSurfaceLocalData,
757 IN OUT DD_SURFACE_MORE* puSurfaceMoreData,
758 IN OUT DD_CREATESURFACEDATA* puCreateSurfaceData,
759 IN OUT HANDLE* puhSurface
760 );
761
762 W32KAPI
763 DWORD
764 APIENTRY
765 NtGdiDdCanCreateD3DBuffer(
766 _In_ HANDLE hDirectDraw,
767 IN OUT PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
768 );
769
770 W32KAPI
771 DWORD
772 APIENTRY
773 NtGdiDdDestroyD3DBuffer(
774 _In_ HANDLE hSurface);
775
776 W32KAPI
777 BOOL
778 APIENTRY
779 NtGdiD3dContextCreate(
780 _In_ HANDLE hDirectDrawLocal,
781 _In_ HANDLE hSurfColor,
782 _In_ HANDLE hSurfZ,
783 IN OUT D3DNTHAL_CONTEXTCREATEI *pdcci
784 );
785
786 W32KAPI
787 DWORD
788 APIENTRY
789 NtGdiD3dContextDestroy(
790 IN LPD3DNTHAL_CONTEXTDESTROYDATA pdcdd
791 );
792
793 W32KAPI
794 DWORD
795 APIENTRY
796 NtGdiD3dContextDestroyAll(
797 OUT LPD3DNTHAL_CONTEXTDESTROYALLDATA pdcdad
798 );
799
800 W32KAPI
801 DWORD
802 APIENTRY
803 NtGdiD3dValidateTextureStageState(
804 IN OUT LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData
805 );
806
807 W32KAPI
808 DWORD
809 APIENTRY
810 NtGdiD3dDrawPrimitives2(
811 _In_ HANDLE hCmdBuf,
812 _In_ HANDLE hVBuf,
813 IN OUT LPD3DNTHAL_DRAWPRIMITIVES2DATA pded,
814 IN OUT FLATPTR* pfpVidMemCmd,
815 IN OUT DWORD* pdwSizeCmd,
816 IN OUT FLATPTR* pfpVidMemVtx,
817 IN OUT DWORD* pdwSizeVtx
818 );
819
820 W32KAPI
821 DWORD
822 APIENTRY
823 NtGdiDdGetDriverState(
824 IN OUT PDD_GETDRIVERSTATEDATA pdata
825 );
826
827 W32KAPI
828 DWORD
829 APIENTRY
830 NtGdiDdCreateSurfaceEx(
831 _In_ HANDLE hDirectDraw,
832 _In_ HANDLE hSurface,
833 _In_ DWORD dwSurfaceHandle
834 );
835
836 W32KAPI
837 DWORD
838 APIENTRY
839 NtGdiDvpCanCreateVideoPort(
840 _In_ HANDLE hDirectDraw,
841 IN OUT PDD_CANCREATEVPORTDATA puCanCreateVPortData
842 );
843
844 W32KAPI
845 DWORD
846 APIENTRY
847 NtGdiDvpColorControl(
848 _In_ HANDLE hVideoPort,
849 IN OUT PDD_VPORTCOLORDATA puVPortColorData
850 );
851
852 W32KAPI
853 HANDLE
854 APIENTRY
855 NtGdiDvpCreateVideoPort(
856 _In_ HANDLE hDirectDraw,
857 IN OUT PDD_CREATEVPORTDATA puCreateVPortData
858 );
859
860 W32KAPI
861 DWORD
862 APIENTRY
863 NtGdiDvpDestroyVideoPort(
864 _In_ HANDLE hVideoPort,
865 IN OUT PDD_DESTROYVPORTDATA puDestroyVPortData
866 );
867
868 W32KAPI
869 DWORD
870 APIENTRY
871 NtGdiDvpFlipVideoPort(
872 _In_ HANDLE hVideoPort,
873 _In_ HANDLE hDDSurfaceCurrent,
874 _In_ HANDLE hDDSurfaceTarget,
875 IN OUT PDD_FLIPVPORTDATA puFlipVPortData
876 );
877
878 W32KAPI
879 DWORD
880 APIENTRY
881 NtGdiDvpGetVideoPortBandwidth(
882 _In_ HANDLE hVideoPort,
883 IN OUT PDD_GETVPORTBANDWIDTHDATA puGetVPortBandwidthData
884 );
885
886 W32KAPI
887 DWORD
888 APIENTRY
889 NtGdiDvpGetVideoPortField(
890 _In_ HANDLE hVideoPort,
891 IN OUT PDD_GETVPORTFIELDDATA puGetVPortFieldData
892 );
893
894 W32KAPI
895 DWORD
896 APIENTRY
897 NtGdiDvpGetVideoPortFlipStatus(
898 _In_ HANDLE hDirectDraw,
899 IN OUT PDD_GETVPORTFLIPSTATUSDATA puGetVPortFlipStatusData
900 );
901
902 W32KAPI
903 DWORD
904 APIENTRY
905 NtGdiDvpGetVideoPortInputFormats(
906 _In_ HANDLE hVideoPort,
907 IN OUT PDD_GETVPORTINPUTFORMATDATA puGetVPortInputFormatData
908 );
909
910 W32KAPI
911 DWORD
912 APIENTRY
913 NtGdiDvpGetVideoPortLine(
914 _In_ HANDLE hVideoPort,
915 IN OUT PDD_GETVPORTLINEDATA puGetVPortLineData
916 );
917
918 W32KAPI
919 DWORD
920 APIENTRY
921 NtGdiDvpGetVideoPortOutputFormats(
922 _In_ HANDLE hVideoPort,
923 IN OUT PDD_GETVPORTOUTPUTFORMATDATA puGetVPortOutputFormatData
924 );
925
926 W32KAPI
927 DWORD
928 APIENTRY
929 NtGdiDvpGetVideoPortConnectInfo(
930 _In_ HANDLE hDirectDraw,
931 IN OUT PDD_GETVPORTCONNECTDATA puGetVPortConnectData
932 );
933
934 W32KAPI
935 DWORD
936 APIENTRY
937 NtGdiDvpGetVideoSignalStatus(
938 _In_ HANDLE hVideoPort,
939 IN OUT PDD_GETVPORTSIGNALDATA puGetVPortSignalData
940 );
941
942 W32KAPI
943 DWORD
944 APIENTRY
945 NtGdiDvpUpdateVideoPort(
946 _In_ HANDLE hVideoPort,
947 IN HANDLE* phSurfaceVideo,
948 IN HANDLE* phSurfaceVbi,
949 IN OUT PDD_UPDATEVPORTDATA puUpdateVPortData
950 );
951
952 W32KAPI
953 DWORD
954 APIENTRY
955 NtGdiDvpWaitForVideoPortSync(
956 _In_ HANDLE hVideoPort,
957 IN OUT PDD_WAITFORVPORTSYNCDATA puWaitForVPortSyncData
958 );
959
960 W32KAPI
961 DWORD
962 APIENTRY
963 NtGdiDvpAcquireNotification(
964 _In_ HANDLE hVideoPort,
965 IN OUT HANDLE* hEvent,
966 IN LPDDVIDEOPORTNOTIFY pNotify
967 );
968
969 W32KAPI
970 DWORD
971 APIENTRY
972 NtGdiDvpReleaseNotification(
973 _In_ HANDLE hVideoPort,
974 _In_ HANDLE hEvent);
975
976 W32KAPI
977 DWORD
978 APIENTRY
979 NtGdiDdGetMoCompGuids(
980 _In_ HANDLE hDirectDraw,
981 IN OUT PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData
982 );
983
984 W32KAPI
985 DWORD
986 APIENTRY
987 NtGdiDdGetMoCompFormats(
988 _In_ HANDLE hDirectDraw,
989 IN OUT PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData
990 );
991
992 W32KAPI
993 DWORD
994 APIENTRY
995 NtGdiDdGetMoCompBuffInfo(
996 _In_ HANDLE hDirectDraw,
997 IN OUT PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData
998 );
999
1000 W32KAPI
1001 DWORD
1002 APIENTRY
1003 NtGdiDdGetInternalMoCompInfo(
1004 _In_ HANDLE hDirectDraw,
1005 IN OUT PDD_GETINTERNALMOCOMPDATA puGetInternalData
1006 );
1007
1008 W32KAPI
1009 HANDLE
1010 APIENTRY
1011 NtGdiDdCreateMoComp(
1012 _In_ HANDLE hDirectDraw,
1013 IN OUT PDD_CREATEMOCOMPDATA puCreateMoCompData
1014 );
1015
1016 W32KAPI
1017 DWORD
1018 APIENTRY
1019 NtGdiDdDestroyMoComp(
1020 _In_ HANDLE hMoComp,
1021 IN OUT PDD_DESTROYMOCOMPDATA puDestroyMoCompData
1022 );
1023
1024 W32KAPI
1025 DWORD
1026 APIENTRY
1027 NtGdiDdBeginMoCompFrame(
1028 _In_ HANDLE hMoComp,
1029 IN OUT PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData
1030 );
1031
1032 W32KAPI
1033 DWORD
1034 APIENTRY
1035 NtGdiDdEndMoCompFrame(
1036 _In_ HANDLE hMoComp,
1037 IN OUT PDD_ENDMOCOMPFRAMEDATA puEndFrameData
1038 );
1039
1040 W32KAPI
1041 DWORD
1042 APIENTRY
1043 NtGdiDdRenderMoComp(
1044 _In_ HANDLE hMoComp,
1045 IN OUT PDD_RENDERMOCOMPDATA puRenderMoCompData
1046 );
1047
1048 W32KAPI
1049 DWORD
1050 APIENTRY
1051 NtGdiDdQueryMoCompStatus(
1052 _In_ HANDLE hMoComp,
1053 IN OUT PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData
1054 );
1055
1056 W32KAPI
1057 DWORD
1058 APIENTRY
1059 NtGdiDdAlphaBlt(
1060 _In_ HANDLE hSurfaceDest,
1061 _In_opt_ HANDLE hSurfaceSrc,
1062 IN OUT PDD_BLTDATA puBltData
1063 );
1064
1065 W32KAPI
1066 BOOL
1067 APIENTRY
1068 NtGdiAlphaBlend(
1069 _In_ HDC hdcDst,
1070 _In_ LONG DstX,
1071 _In_ LONG DstY,
1072 _In_ LONG DstCx,
1073 _In_ LONG DstCy,
1074 _In_ HDC hdcSrc,
1075 _In_ LONG SrcX,
1076 _In_ LONG SrcY,
1077 _In_ LONG SrcCx,
1078 _In_ LONG SrcCy,
1079 _In_ BLENDFUNCTION BlendFunction,
1080 _In_ HANDLE hcmXform);
1081
1082 W32KAPI
1083 BOOL
1084 APIENTRY
1085 NtGdiGradientFill(
1086 _In_ HDC hdc,
1087 _In_ PTRIVERTEX pVertex,
1088 _In_ ULONG nVertex,
1089 _In_ PVOID pMesh,
1090 _In_ ULONG nMesh,
1091 _In_ ULONG ulMode);
1092
1093 W32KAPI
1094 BOOL
1095 APIENTRY
1096 NtGdiSetIcmMode(
1097 _In_ HDC hdc,
1098 _In_ ULONG nCommand,
1099 _In_ ULONG ulMode);
1100
1101 W32KAPI
1102 HANDLE
1103 APIENTRY
1104 NtGdiCreateColorSpace(
1105 _In_ PLOGCOLORSPACEEXW pLogColorSpace);
1106
1107 W32KAPI
1108 BOOL
1109 APIENTRY
1110 NtGdiDeleteColorSpace(
1111 _In_ HANDLE hColorSpace);
1112
1113 W32KAPI
1114 BOOL
1115 APIENTRY
1116 NtGdiSetColorSpace(
1117 _In_ HDC hdc,
1118 _In_ HCOLORSPACE hColorSpace);
1119
1120 W32KAPI
1121 HANDLE
1122 APIENTRY
1123 NtGdiCreateColorTransform(
1124 _In_ HDC hdc,
1125 _In_ LPLOGCOLORSPACEW pLogColorSpaceW,
1126 _In_reads_bytes_opt_(cjSrcProfile) PVOID pvSrcProfile,
1127 _In_ ULONG cjSrcProfile,
1128 _In_reads_bytes_opt_(cjDestProfile) PVOID pvDestProfile,
1129 _In_ ULONG cjDestProfile,
1130 _In_reads_bytes_opt_(cjTargetProfile) PVOID pvTargetProfile,
1131 _In_ ULONG cjTargetProfile);
1132
1133 W32KAPI
1134 BOOL
1135 APIENTRY
1136 NtGdiDeleteColorTransform(
1137 _In_ HDC hdc,
1138 _In_ HANDLE hColorTransform);
1139
1140 W32KAPI
1141 BOOL
1142 APIENTRY
1143 NtGdiCheckBitmapBits(
1144 _In_ HDC hdc,
1145 _In_ HANDLE hColorTransform,
1146 _In_ PVOID pvBits,
1147 _In_ ULONG bmFormat,
1148 _In_ DWORD dwWidth,
1149 _In_ DWORD dwHeight,
1150 _In_ DWORD dwStride,
1151 OUT PBYTE paResults
1152 );
1153
1154 W32KAPI
1155 ULONG
1156 APIENTRY
1157 NtGdiColorCorrectPalette(
1158 _In_ HDC hdc,
1159 _In_ HPALETTE hpal,
1160 _In_ ULONG FirstEntry,
1161 _In_ ULONG NumberOfEntries,
1162 IN OUT PALETTEENTRY *ppalEntry,
1163 _In_ ULONG Command
1164 );
1165
1166 W32KAPI
1167 ULONG_PTR
1168 APIENTRY
1169 NtGdiGetColorSpaceforBitmap(
1170 _In_ HBITMAP hsurf);
1171
1172 W32KAPI
1173 BOOL
1174 APIENTRY
1175 NtGdiGetDeviceGammaRamp(
1176 _In_ HDC hdc,
1177 _Out_writes_bytes_(sizeof(GAMMARAMP)) LPVOID lpGammaRamp);
1178
1179 W32KAPI
1180 BOOL
1181 APIENTRY
1182 NtGdiSetDeviceGammaRamp(
1183 _In_ HDC hdc,
1184 _In_reads_bytes_(sizeof(GAMMARAMP)) LPVOID lpGammaRamp);
1185
1186 W32KAPI
1187 BOOL
1188 APIENTRY
1189 NtGdiIcmBrushInfo(
1190 _In_ HDC hdc,
1191 _In_ HBRUSH hbrush,
1192 IN OUT PBITMAPINFO pbmiDIB,
1193 IN OUT PVOID pvBits,
1194 IN OUT ULONG *pulBits,
1195 OUT OPTIONAL DWORD *piUsage,
1196 OUT OPTIONAL BOOL *pbAlreadyTran,
1197 _In_ ULONG Command
1198 );
1199
1200 W32KAPI
1201 VOID
1202 APIENTRY
1203 NtGdiFlush(VOID);
1204
1205 W32KAPI
1206 HDC
1207 APIENTRY
1208 NtGdiCreateMetafileDC(
1209 _In_ HDC hdc);
1210
1211 W32KAPI
1212 BOOL
1213 APIENTRY
1214 NtGdiMakeInfoDC(
1215 _In_ HDC hdc,
1216 _In_ BOOL bSet);
1217
1218 W32KAPI
1219 HANDLE
1220 APIENTRY
1221 NtGdiCreateClientObj(
1222 _In_ ULONG ulType);
1223
1224 W32KAPI
1225 BOOL
1226 APIENTRY
1227 NtGdiDeleteClientObj(
1228 _In_ HANDLE h);
1229
1230 W32KAPI
1231 LONG
1232 APIENTRY
1233 NtGdiGetBitmapBits(
1234 _In_ HBITMAP hbm,
1235 _In_ ULONG cjMax,
1236 OUT OPTIONAL PBYTE pjOut
1237 );
1238
1239 W32KAPI
1240 BOOL
1241 APIENTRY
1242 NtGdiDeleteObjectApp(
1243 _In_ HANDLE hobj);
1244
1245 W32KAPI
1246 INT
1247 APIENTRY
1248 NtGdiGetPath(
1249 _In_ HDC hdc,
1250 OUT OPTIONAL LPPOINT pptlBuf,
1251 OUT OPTIONAL LPBYTE pjTypes,
1252 _In_ INT cptBuf
1253 );
1254
1255 W32KAPI
1256 HDC
1257 APIENTRY
1258 NtGdiCreateCompatibleDC(
1259 _In_opt_ HDC hdc);
1260
1261 W32KAPI
1262 HBITMAP
1263 APIENTRY
1264 NtGdiCreateDIBitmapInternal(
1265 _In_ HDC hdc,
1266 _In_ INT cx,
1267 _In_ INT cy,
1268 _In_ DWORD fInit,
1269 _In_opt_ LPBYTE pjInit,
1270 _In_opt_ LPBITMAPINFO pbmi,
1271 _In_ DWORD iUsage,
1272 _In_ UINT cjMaxInitInfo,
1273 _In_ UINT cjMaxBits,
1274 _In_ FLONG f,
1275 _In_ HANDLE hcmXform);
1276
1277 W32KAPI
1278 HBITMAP
1279 APIENTRY
1280 NtGdiCreateDIBSection(
1281 _In_ HDC hdc,
1282 _In_opt_ HANDLE hSectionApp,
1283 _In_ DWORD dwOffset,
1284 _In_ LPBITMAPINFO pbmi,
1285 _In_ DWORD iUsage,
1286 _In_ UINT cjHeader,
1287 _In_ FLONG fl,
1288 _In_ ULONG_PTR dwColorSpace,
1289 _Out_opt_ PVOID *ppvBits);
1290
1291 W32KAPI
1292 HBRUSH
1293 APIENTRY
1294 NtGdiCreateSolidBrush(
1295 _In_ COLORREF cr,
1296 _In_opt_ HBRUSH hbr);
1297
1298 W32KAPI
1299 HBRUSH
1300 APIENTRY
1301 NtGdiCreateDIBBrush(
1302 _In_ PVOID pv,
1303 _In_ FLONG fl,
1304 _In_ UINT cj,
1305 _In_ BOOL b8X8,
1306 _In_ BOOL bPen,
1307 _In_ PVOID pClient);
1308
1309 W32KAPI
1310 HBRUSH
1311 APIENTRY
1312 NtGdiCreatePatternBrushInternal(
1313 _In_ HBITMAP hbm,
1314 _In_ BOOL bPen,
1315 _In_ BOOL b8X8);
1316
1317 W32KAPI
1318 HBRUSH
1319 APIENTRY
1320 NtGdiCreateHatchBrushInternal(
1321 _In_ ULONG ulStyle,
1322 _In_ COLORREF clrr,
1323 _In_ BOOL bPen);
1324
1325 W32KAPI
1326 HPEN
1327 APIENTRY
1328 NtGdiExtCreatePen(
1329 _In_ ULONG flPenStyle,
1330 _In_ ULONG ulWidth,
1331 _In_ ULONG iBrushStyle,
1332 _In_ ULONG ulColor,
1333 _In_ ULONG_PTR lClientHatch,
1334 _In_ ULONG_PTR lHatch,
1335 _In_ ULONG cstyle,
1336 _In_opt_ PULONG pulStyle,
1337 _In_ ULONG cjDIB,
1338 _In_ BOOL bOldStylePen,
1339 _In_opt_ HBRUSH hbrush);
1340
1341 W32KAPI
1342 HRGN
1343 APIENTRY
1344 NtGdiCreateEllipticRgn(
1345 _In_ INT xLeft,
1346 _In_ INT yTop,
1347 _In_ INT xRight,
1348 _In_ INT yBottom);
1349
1350 W32KAPI
1351 HRGN
1352 APIENTRY
1353 NtGdiCreateRoundRectRgn(
1354 _In_ INT xLeft,
1355 _In_ INT yTop,
1356 _In_ INT xRight,
1357 _In_ INT yBottom,
1358 _In_ INT xWidth,
1359 _In_ INT yHeight);
1360
1361 W32KAPI
1362 HANDLE
1363 APIENTRY
1364 NtGdiCreateServerMetaFile(
1365 _In_ DWORD iType,
1366 _In_ ULONG cjData,
1367 _In_reads_bytes_(cjData) LPBYTE pjData,
1368 _In_ DWORD mm,
1369 _In_ DWORD xExt,
1370 _In_ DWORD yExt);
1371
1372 W32KAPI
1373 HRGN
1374 APIENTRY
1375 NtGdiExtCreateRegion(
1376 _In_opt_ LPXFORM px,
1377 _In_ DWORD cj,
1378 _In_ LPRGNDATA prgn);
1379
1380 W32KAPI
1381 ULONG
1382 APIENTRY
1383 NtGdiMakeFontDir(
1384 _In_ FLONG flEmbed,
1385 _Out_writes_bytes_(cjFontDir) PBYTE pjFontDir,
1386 _In_ unsigned cjFontDir,
1387 _In_z_bytecount_(cjPathname) LPWSTR pwszPathname,
1388 _In_ unsigned cjPathname);
1389
1390 W32KAPI
1391 BOOL
1392 APIENTRY
1393 NtGdiPolyDraw(
1394 _In_ HDC hdc,
1395 _In_count_(cpt) LPPOINT ppt,
1396 _In_count_(cpt) LPBYTE pjAttr,
1397 _In_ ULONG cpt);
1398
1399 W32KAPI
1400 BOOL
1401 APIENTRY
1402 NtGdiPolyTextOutW(
1403 _In_ HDC hdc,
1404 _In_ POLYTEXTW *pptw,
1405 _In_ UINT cStr,
1406 _In_ DWORD dwCodePage);
1407
1408 W32KAPI
1409 ULONG
1410 APIENTRY
1411 NtGdiGetServerMetaFileBits(
1412 _In_ HANDLE hmo,
1413 _In_ ULONG cjData,
1414 OUT OPTIONAL LPBYTE pjData,
1415 OUT PDWORD piType,
1416 OUT PDWORD pmm,
1417 OUT PDWORD pxExt,
1418 OUT PDWORD pyExt
1419 );
1420
1421 W32KAPI
1422 BOOL
1423 APIENTRY
1424 NtGdiEqualRgn(
1425 _In_ HRGN hrgn1,
1426 _In_ HRGN hrgn2);
1427
1428 _Must_inspect_result_
1429 W32KAPI
1430 BOOL
1431 APIENTRY
1432 NtGdiGetBitmapDimension(
1433 _In_ HBITMAP hbm,
1434 _When_(return != FALSE, _Out_) LPSIZE psize);
1435
1436 W32KAPI
1437 UINT
1438 APIENTRY
1439 NtGdiGetNearestPaletteIndex(
1440 _In_ HPALETTE hpal,
1441 _In_ COLORREF crColor);
1442
1443 W32KAPI
1444 BOOL
1445 APIENTRY
1446 NtGdiPtVisible(
1447 _In_ HDC hdc,
1448 _In_ INT x,
1449 _In_ INT y);
1450
1451 W32KAPI
1452 BOOL
1453 APIENTRY
1454 NtGdiRectVisible(
1455 _In_ HDC hdc,
1456 _In_ LPRECT prc);
1457
1458 W32KAPI
1459 BOOL
1460 APIENTRY
1461 NtGdiRemoveFontResourceW(
1462 _In_z_count_(cwc) WCHAR *pwszFiles,
1463 _In_ ULONG cwc,
1464 _In_ ULONG cFiles,
1465 _In_ ULONG fl,
1466 _In_ DWORD dwPidTid,
1467 _In_opt_ DESIGNVECTOR *pdv);
1468
1469 W32KAPI
1470 BOOL
1471 APIENTRY
1472 NtGdiResizePalette(
1473 _In_ HPALETTE hpal,
1474 _In_ UINT cEntry);
1475
1476 W32KAPI
1477 BOOL
1478 APIENTRY
1479 NtGdiSetBitmapDimension(
1480 _In_ HBITMAP hbm,
1481 _In_ INT cx,
1482 _In_ INT cy,
1483 _In_opt_ LPSIZE psizeOut);
1484
1485 W32KAPI
1486 INT
1487 APIENTRY
1488 NtGdiOffsetClipRgn(
1489 _In_ HDC hdc,
1490 _In_ INT x,
1491 _In_ INT y);
1492
1493 W32KAPI
1494 INT
1495 APIENTRY
1496 NtGdiSetMetaRgn(
1497 _In_ HDC hdc);
1498
1499 W32KAPI
1500 BOOL
1501 APIENTRY
1502 NtGdiSetTextJustification(
1503 _In_ HDC hdc,
1504 _In_ INT lBreakExtra,
1505 _In_ INT cBreak);
1506
1507 W32KAPI
1508 INT
1509 APIENTRY
1510 NtGdiGetAppClipBox(
1511 _In_ HDC hdc,
1512 _Out_ LPRECT prc);
1513
1514 W32KAPI
1515 BOOL
1516 APIENTRY
1517 NtGdiGetTextExtentExW(
1518 _In_ HDC hdc,
1519 IN OPTIONAL LPWSTR lpwsz,
1520 _In_ ULONG cwc,
1521 _In_ ULONG dxMax,
1522 OUT OPTIONAL ULONG *pcCh,
1523 OUT OPTIONAL PULONG pdxOut,
1524 OUT LPSIZE psize,
1525 _In_ FLONG fl
1526 );
1527
1528 W32KAPI
1529 BOOL
1530 APIENTRY
1531 NtGdiGetCharABCWidthsW(
1532 _In_ HDC hdc,
1533 _In_ UINT wchFirst,
1534 _In_ ULONG cwch,
1535 IN OPTIONAL PWCHAR pwch,
1536 _In_ FLONG fl,
1537 OUT PVOID pvBuf
1538 );
1539
1540 W32KAPI
1541 DWORD
1542 APIENTRY
1543 NtGdiGetCharacterPlacementW(
1544 _In_ HDC hdc,
1545 IN LPWSTR pwsz,
1546 _In_ INT nCount,
1547 _In_ INT nMaxExtent,
1548 IN OUT LPGCP_RESULTSW pgcpw,
1549 _In_ DWORD dwFlags
1550 );
1551
1552 W32KAPI
1553 BOOL
1554 APIENTRY
1555 NtGdiAngleArc(
1556 _In_ HDC hdc,
1557 _In_ INT x,
1558 _In_ INT y,
1559 _In_ DWORD dwRadius,
1560 _In_ DWORD dwStartAngle,
1561 _In_ DWORD dwSweepAngle);
1562
1563 W32KAPI
1564 BOOL
1565 APIENTRY
1566 NtGdiBeginPath(
1567 _In_ HDC hdc);
1568
1569 W32KAPI
1570 BOOL
1571 APIENTRY
1572 NtGdiSelectClipPath(
1573 _In_ HDC hdc,
1574 _In_ INT iMode);
1575
1576 W32KAPI
1577 BOOL
1578 APIENTRY
1579 NtGdiCloseFigure(
1580 _In_ HDC hdc);
1581
1582 W32KAPI
1583 BOOL
1584 APIENTRY
1585 NtGdiEndPath(
1586 _In_ HDC hdc);
1587
1588 W32KAPI
1589 BOOL
1590 APIENTRY
1591 NtGdiAbortPath(
1592 _In_ HDC hdc);
1593
1594 W32KAPI
1595 BOOL
1596 APIENTRY
1597 NtGdiFillPath(
1598 _In_ HDC hdc);
1599
1600 W32KAPI
1601 BOOL
1602 APIENTRY
1603 NtGdiStrokeAndFillPath(
1604 _In_ HDC hdc);
1605
1606 W32KAPI
1607 BOOL
1608 APIENTRY
1609 NtGdiStrokePath(
1610 _In_ HDC hdc);
1611
1612 W32KAPI
1613 BOOL
1614 APIENTRY
1615 NtGdiWidenPath(
1616 _In_ HDC hdc);
1617
1618 W32KAPI
1619 BOOL
1620 APIENTRY
1621 NtGdiFlattenPath(
1622 _In_ HDC hdc);
1623
1624 W32KAPI
1625 NTSTATUS
1626 APIENTRY
1627 NtGdiFlushUserBatch(VOID);
1628
1629 W32KAPI
1630 HRGN
1631 APIENTRY
1632 NtGdiPathToRegion(
1633 _In_ HDC hdc);
1634
1635 W32KAPI
1636 BOOL
1637 APIENTRY
1638 NtGdiSetMiterLimit(
1639 _In_ HDC hdc,
1640 _In_ DWORD dwNew,
1641 _Out_opt_ PDWORD pdwOut);
1642
1643 W32KAPI
1644 BOOL
1645 APIENTRY
1646 NtGdiSetFontXform(
1647 _In_ HDC hdc,
1648 _In_ DWORD dwxScale,
1649 _In_ DWORD dwyScale);
1650
1651 _Success_(return != FALSE)
1652 W32KAPI
1653 BOOL
1654 APIENTRY
1655 NtGdiGetMiterLimit(
1656 _In_ HDC hdc,
1657 _Out_ PDWORD pdwOut);
1658
1659 W32KAPI
1660 BOOL
1661 APIENTRY
1662 NtGdiEllipse(
1663 _In_ HDC hdc,
1664 _In_ INT xLeft,
1665 _In_ INT yTop,
1666 _In_ INT xRight,
1667 _In_ INT yBottom);
1668
1669 W32KAPI
1670 BOOL
1671 APIENTRY
1672 NtGdiRectangle(
1673 _In_ HDC hdc,
1674 _In_ INT xLeft,
1675 _In_ INT yTop,
1676 _In_ INT xRight,
1677 _In_ INT yBottom);
1678
1679 W32KAPI
1680 BOOL
1681 APIENTRY
1682 NtGdiRoundRect(
1683 _In_ HDC hdc,
1684 _In_ INT x1,
1685 _In_ INT y1,
1686 _In_ INT x2,
1687 _In_ INT y2,
1688 _In_ INT x3,
1689 _In_ INT y3);
1690
1691 W32KAPI
1692 BOOL
1693 APIENTRY
1694 NtGdiPlgBlt(
1695 _In_ HDC hdcTrg,
1696 _In_ LPPOINT pptlTrg,
1697 _In_ HDC hdcSrc,
1698 _In_ INT xSrc,
1699 _In_ INT ySrc,
1700 _In_ INT cxSrc,
1701 _In_ INT cySrc,
1702 _In_ HBITMAP hbmMask,
1703 _In_ INT xMask,
1704 _In_ INT yMask,
1705 _In_ DWORD crBackColor);
1706
1707 W32KAPI
1708 BOOL
1709 APIENTRY
1710 NtGdiMaskBlt(
1711 _In_ HDC hdc,
1712 _In_ INT xDst,
1713 _In_ INT yDst,
1714 _In_ INT cx,
1715 _In_ INT cy,
1716 _In_ HDC hdcSrc,
1717 _In_ INT xSrc,
1718 _In_ INT ySrc,
1719 _In_opt_ HBITMAP hbmMask,
1720 _In_ INT xMask,
1721 _In_ INT yMask,
1722 _In_ DWORD dwRop4,
1723 _In_ DWORD crBackColor);
1724
1725 W32KAPI
1726 BOOL
1727 APIENTRY
1728 NtGdiExtFloodFill(
1729 _In_ HDC hdc,
1730 _In_ INT x,
1731 _In_ INT y,
1732 _In_ COLORREF crColor,
1733 _In_ UINT iFillType);
1734
1735 W32KAPI
1736 BOOL
1737 APIENTRY
1738 NtGdiFillRgn(
1739 _In_ HDC hdc,
1740 _In_ HRGN hrgn,
1741 _In_ HBRUSH hbrush);
1742
1743 W32KAPI
1744 BOOL
1745 APIENTRY
1746 NtGdiFrameRgn(
1747 _In_ HDC hdc,
1748 _In_ HRGN hrgn,
1749 _In_ HBRUSH hbrush,
1750 _In_ INT xWidth,
1751 _In_ INT yHeight);
1752
1753 W32KAPI
1754 COLORREF
1755 APIENTRY
1756 NtGdiSetPixel(
1757 _In_ HDC hdcDst,
1758 _In_ INT x,
1759 _In_ INT y,
1760 _In_ COLORREF crColor);
1761
1762 W32KAPI
1763 DWORD
1764 APIENTRY
1765 NtGdiGetPixel(
1766 _In_ HDC hdc,
1767 _In_ INT x,
1768 _In_ INT y);
1769
1770 W32KAPI
1771 BOOL
1772 APIENTRY
1773 NtGdiStartPage(
1774 _In_ HDC hdc);
1775
1776 W32KAPI
1777 BOOL
1778 APIENTRY
1779 NtGdiEndPage(
1780 _In_ HDC hdc);
1781
1782 W32KAPI
1783 INT
1784 APIENTRY
1785 NtGdiStartDoc(
1786 _In_ HDC hdc,
1787 IN DOCINFOW *pdi,
1788 OUT BOOL *pbBanding,
1789 _In_ INT iJob
1790 );
1791
1792 W32KAPI
1793 BOOL
1794 APIENTRY
1795 NtGdiEndDoc(
1796 _In_ HDC hdc);
1797
1798 W32KAPI
1799 BOOL
1800 APIENTRY
1801 NtGdiAbortDoc(
1802 _In_ HDC hdc);
1803
1804 W32KAPI
1805 BOOL
1806 APIENTRY
1807 NtGdiUpdateColors(
1808 _In_ HDC hdc);
1809
1810 W32KAPI
1811 BOOL
1812 APIENTRY
1813 NtGdiGetCharWidthW(
1814 _In_ HDC hdc,
1815 _In_ UINT wcFirst,
1816 _In_ UINT cwc,
1817 IN OPTIONAL PWCHAR pwc,
1818 _In_ FLONG fl,
1819 OUT PVOID pvBuf
1820 );
1821
1822 W32KAPI
1823 BOOL
1824 APIENTRY
1825 NtGdiGetCharWidthInfo(
1826 _In_ HDC hdc,
1827 OUT PCHWIDTHINFO pChWidthInfo
1828 );
1829
1830 W32KAPI
1831 INT
1832 APIENTRY
1833 NtGdiDrawEscape(
1834 _In_ HDC hdc,
1835 _In_ INT iEsc,
1836 _In_ INT cjIn,
1837 IN OPTIONAL LPSTR pjIn
1838 );
1839
1840 W32KAPI
1841 INT
1842 APIENTRY
1843 NtGdiExtEscape(
1844 _In_ HDC hdc,
1845 IN OPTIONAL PWCHAR pDriver,
1846 _In_ INT nDriver,
1847 _In_ INT iEsc,
1848 _In_ INT cjIn,
1849 IN OPTIONAL LPSTR pjIn,
1850 _In_ INT cjOut,
1851 OUT OPTIONAL LPSTR pjOut
1852 );
1853
1854 W32KAPI
1855 ULONG
1856 APIENTRY
1857 NtGdiGetFontData(
1858 _In_ HDC hdc,
1859 _In_ DWORD dwTable,
1860 _In_ DWORD dwOffset,
1861 OUT OPTIONAL PVOID pvBuf,
1862 _In_ ULONG cjBuf
1863 );
1864
1865 W32KAPI
1866 ULONG
1867 APIENTRY
1868 NtGdiGetGlyphOutline(
1869 _In_ HDC hdc,
1870 IN WCHAR wch,
1871 _In_ UINT iFormat,
1872 OUT LPGLYPHMETRICS pgm,
1873 _In_ ULONG cjBuf,
1874 OUT OPTIONAL PVOID pvBuf,
1875 IN LPMAT2 pmat2,
1876 _In_ BOOL bIgnoreRotation
1877 );
1878
1879 W32KAPI
1880 BOOL
1881 APIENTRY
1882 NtGdiGetETM(
1883 _In_ HDC hdc,
1884 OUT EXTTEXTMETRIC *petm
1885 );
1886
1887 W32KAPI
1888 BOOL
1889 APIENTRY
1890 NtGdiGetRasterizerCaps(
1891 OUT LPRASTERIZER_STATUS praststat,
1892 _In_ ULONG cjBytes
1893 );
1894
1895 W32KAPI
1896 ULONG
1897 APIENTRY
1898 NtGdiGetKerningPairs(
1899 _In_ HDC hdc,
1900 _In_ ULONG cPairs,
1901 OUT OPTIONAL KERNINGPAIR *pkpDst
1902 );
1903
1904 W32KAPI
1905 BOOL
1906 APIENTRY
1907 NtGdiMonoBitmap(
1908 _In_ HBITMAP hbm);
1909
1910 W32KAPI
1911 HBITMAP
1912 APIENTRY
1913 NtGdiGetObjectBitmapHandle(
1914 _In_ HBRUSH hbr,
1915 OUT UINT *piUsage
1916 );
1917
1918 W32KAPI
1919 ULONG
1920 APIENTRY
1921 NtGdiEnumObjects(
1922 _In_ HDC hdc,
1923 _In_ INT iObjectType,
1924 _In_ ULONG cjBuf,
1925 OUT OPTIONAL PVOID pvBuf
1926 );
1927
1928 // Note from SDK:
1929 //
1930 // NtGdiResetDC
1931 // The exact size of the buffer at pdm is pdm->dmSize + pdm->dmDriverExtra.
1932 // But this can't be specified with current annotation language.
1933 //
1934 // typedef struct _DRIVER_INFO_2W DRIVER_INFO_2W;
1935 //
1936 // :end note.
1937 W32KAPI
1938 BOOL
1939 APIENTRY
1940 NtGdiResetDC(
1941 _In_ HDC hdc,
1942 _In_ LPDEVMODEW pdm,
1943 OUT PBOOL pbBanding,
1944 IN OPTIONAL VOID *pDriverInfo2, // this is "typedef struct _DRIVER_INFO_2W DRIVER_INFO_2W;"
1945 OUT VOID *ppUMdhpdev
1946 );
1947
1948 W32KAPI
1949 DWORD
1950 APIENTRY
1951 NtGdiSetBoundsRect(
1952 _In_ HDC hdc,
1953 _In_ LPRECT prc,
1954 _In_ DWORD f);
1955
1956 W32KAPI
1957 BOOL
1958 APIENTRY
1959 NtGdiGetColorAdjustment(
1960 _In_ HDC hdc,
1961 _Out_ PCOLORADJUSTMENT pcaOut);
1962
1963 W32KAPI
1964 BOOL
1965 APIENTRY
1966 NtGdiSetColorAdjustment(
1967 _In_ HDC hdc,
1968 _In_ PCOLORADJUSTMENT pca);
1969
1970 W32KAPI
1971 BOOL
1972 APIENTRY
1973 NtGdiCancelDC(
1974 _In_ HDC hdc);
1975
1976 W32KAPI
1977 HDC
1978 APIENTRY
1979 NtGdiOpenDCW(
1980 IN OPTIONAL PUNICODE_STRING pustrDevice,
1981 IN DEVMODEW *pdm, // See note for NtGdiResetDC
1982 IN PUNICODE_STRING pustrLogAddr,
1983 _In_ ULONG iType,
1984 _In_ BOOL bDisplay,
1985 IN OPTIONAL HANDLE hspool,
1986 IN OPTIONAL VOID *pDriverInfo2, // this is "typedef struct _DRIVER_INFO_2W DRIVER_INFO_2W;"
1987 OUT VOID *pUMdhpdev
1988 );
1989
1990 W32KAPI
1991 BOOL
1992 APIENTRY
1993 NtGdiGetDCDword(
1994 _In_ HDC hdc,
1995 _In_ UINT u,
1996 OUT DWORD *Result
1997 );
1998
1999 W32KAPI
2000 BOOL
2001 APIENTRY
2002 NtGdiGetDCPoint(
2003 _In_ HDC hdc,
2004 _In_ UINT iPoint,
2005 _Out_ PPOINTL pptOut);
2006
2007 W32KAPI
2008 BOOL
2009 APIENTRY
2010 NtGdiScaleViewportExtEx(
2011 _In_ HDC hdc,
2012 _In_ INT xNum,
2013 _In_ INT xDenom,
2014 _In_ INT yNum,
2015 _In_ INT yDenom,
2016 OUT OPTIONAL LPSIZE pszOut
2017 );
2018
2019 W32KAPI
2020 BOOL
2021 APIENTRY
2022 NtGdiScaleWindowExtEx(
2023 _In_ HDC hdc,
2024 _In_ INT xNum,
2025 _In_ INT xDenom,
2026 _In_ INT yNum,
2027 _In_ INT yDenom,
2028 OUT OPTIONAL LPSIZE pszOut
2029 );
2030
2031 W32KAPI
2032 BOOL
2033 APIENTRY
2034 NtGdiSetVirtualResolution(
2035 _In_ HDC hdc,
2036 _In_ INT cxVirtualDevicePixel,
2037 _In_ INT cyVirtualDevicePixel,
2038 _In_ INT cxVirtualDeviceMm,
2039 _In_ INT cyVirtualDeviceMm);
2040
2041 W32KAPI
2042 BOOL
2043 APIENTRY
2044 NtGdiSetSizeDevice(
2045 _In_ HDC hdc,
2046 _In_ INT cxVirtualDevice,
2047 _In_ INT cyVirtualDevice);
2048
2049 W32KAPI
2050 BOOL
2051 APIENTRY
2052 NtGdiGetTransform(
2053 _In_ HDC hdc,
2054 _In_ DWORD iXform,
2055 _Out_ LPXFORM pxf);
2056
2057 W32KAPI
2058 BOOL
2059 APIENTRY
2060 NtGdiModifyWorldTransform(
2061 _In_ HDC hdc,
2062 _In_opt_ LPXFORM pxf,
2063 _In_ DWORD iXform);
2064
2065 W32KAPI
2066 BOOL
2067 APIENTRY
2068 NtGdiCombineTransform(
2069 _Out_ LPXFORM pxfDst,
2070 _In_ LPXFORM pxfSrc1,
2071 _In_ LPXFORM pxfSrc2);
2072
2073 W32KAPI
2074 BOOL
2075 APIENTRY
2076 NtGdiTransformPoints(
2077 _In_ HDC hdc,
2078 _In_reads_(c) PPOINT pptIn,
2079 _Out_writes_(c) PPOINT pptOut,
2080 _In_ INT c,
2081 _In_ INT iMode);
2082
2083 W32KAPI
2084 LONG
2085 APIENTRY
2086 NtGdiConvertMetafileRect(
2087 _In_ HDC hdc,
2088 _Inout_ PRECTL prect);
2089
2090 W32KAPI
2091 INT
2092 APIENTRY
2093 NtGdiGetTextCharsetInfo(
2094 _In_ HDC hdc,
2095 OUT OPTIONAL LPFONTSIGNATURE lpSig,
2096 _In_ DWORD dwFlags
2097 );
2098
2099 W32KAPI
2100 BOOL
2101 APIENTRY
2102 NtGdiDoBanding(
2103 _In_ HDC hdc,
2104 _In_ BOOL bStart,
2105 OUT POINTL *pptl,
2106 OUT PSIZE pSize
2107 );
2108
2109 W32KAPI
2110 ULONG
2111 APIENTRY
2112 NtGdiGetPerBandInfo(
2113 _In_ HDC hdc,
2114 IN OUT PERBANDINFO *ppbi
2115 );
2116
2117 W32KAPI
2118 NTSTATUS
2119 APIENTRY
2120 NtGdiGetStats(
2121 _In_ HANDLE hProcess,
2122 _In_ INT iIndex,
2123 _In_ INT iPidType,
2124 OUT PVOID pResults,
2125 _In_ UINT cjResultSize
2126 );
2127
2128 W32KAPI
2129 BOOL
2130 APIENTRY
2131 NtGdiSetMagicColors(
2132 _In_ HDC hdc,
2133 IN PALETTEENTRY peMagic,
2134 _In_ ULONG Index
2135 );
2136
2137 W32KAPI
2138 HBRUSH
2139 APIENTRY
2140 NtGdiSelectBrush(
2141 _In_ HDC hdc,
2142 _In_ HBRUSH hbrush
2143 );
2144
2145 W32KAPI
2146 HPEN
2147 APIENTRY
2148 NtGdiSelectPen(
2149 _In_ HDC hdc,
2150 _In_ HPEN hpen);
2151
2152 W32KAPI
2153 HBITMAP
2154 APIENTRY
2155 NtGdiSelectBitmap(
2156 _In_ HDC hdc,
2157 _In_ HBITMAP hbm);
2158
2159 W32KAPI
2160 HFONT
2161 APIENTRY
2162 NtGdiSelectFont(
2163 _In_ HDC hdc,
2164 _In_ HFONT hf);
2165
2166 W32KAPI
2167 INT
2168 APIENTRY
2169 NtGdiExtSelectClipRgn(
2170 _In_ HDC hdc,
2171 _In_ HRGN hrgn,
2172 _In_ INT iMode);
2173
2174 W32KAPI
2175 HPEN
2176 APIENTRY
2177 NtGdiCreatePen(
2178 _In_ INT iPenStyle,
2179 _In_ INT iPenWidth,
2180 _In_ COLORREF cr,
2181 _In_ HBRUSH hbr);
2182
2183 #ifdef _WINDOWBLT_NOTIFICATION_
2184 W32KAPI
2185 BOOL
2186 APIENTRY
2187 NtGdiBitBlt(
2188 _In_ HDC hdcDst,
2189 _In_ INT x,
2190 _In_ INT y,
2191 _In_ INT cx,
2192 _In_ INT cy,
2193 _In_ HDC hdcSrc,
2194 _In_ INT xSrc,
2195 _In_ INT ySrc,
2196 _In_ DWORD rop4,
2197 _In_ DWORD crBackColor,
2198 _In_ FLONG fl);
2199 #else
2200 W32KAPI
2201 BOOL
2202 APIENTRY
2203 NtGdiBitBlt(
2204 _In_ HDC hdcDst,
2205 _In_ INT x,
2206 _In_ INT y,
2207 _In_ INT cx,
2208 _In_ INT cy,
2209 _In_ HDC hdcSrc,
2210 _In_ INT xSrc,
2211 _In_ INT ySrc,
2212 _In_ DWORD rop4,
2213 _In_ DWORD crBackColor);
2214 #endif
2215
2216 W32KAPI
2217 BOOL
2218 APIENTRY
2219 NtGdiTileBitBlt(
2220 _In_ HDC hdcDst,
2221 _In_ RECTL *prectDst,
2222 _In_ HDC hdcSrc,
2223 _In_ RECTL *prectSrc,
2224 _In_ POINTL *pptlOrigin,
2225 _In_ DWORD rop4,
2226 _In_ DWORD crBackColor);
2227
2228 W32KAPI
2229 BOOL
2230 APIENTRY
2231 NtGdiTransparentBlt(
2232 _In_ HDC hdcDst,
2233 _In_ INT xDst,
2234 _In_ INT yDst,
2235 _In_ INT cxDst,
2236 _In_ INT cyDst,
2237 _In_ HDC hdcSrc,
2238 _In_ INT xSrc,
2239 _In_ INT ySrc,
2240 _In_ INT cxSrc,
2241 _In_ INT cySrc,
2242 _In_ COLORREF TransColor);
2243
2244 W32KAPI
2245 BOOL
2246 APIENTRY
2247 NtGdiGetTextExtent(
2248 _In_ HDC hdc,
2249 _In_z_count_(cwc) LPWSTR lpwsz,
2250 _In_ INT cwc,
2251 _Out_ LPSIZE psize,
2252 _In_ UINT flOpts);
2253
2254 W32KAPI
2255 BOOL
2256 APIENTRY
2257 NtGdiGetTextMetricsW(
2258 _In_ HDC hdc,
2259 _Out_bytecap_(cj) TMW_INTERNAL * ptm,
2260 _In_ ULONG cj);
2261
2262 W32KAPI
2263 INT
2264 APIENTRY
2265 NtGdiGetTextFaceW(
2266 _In_ HDC hdc,
2267 _In_ INT cChar,
2268 OUT OPTIONAL LPWSTR pszOut,
2269 _In_ BOOL bAliasName
2270 );
2271
2272 W32KAPI
2273 INT
2274 APIENTRY
2275 NtGdiGetRandomRgn(
2276 _In_ HDC hdc,
2277 _In_ HRGN hrgn,
2278 _In_ INT iRgn);
2279
2280 W32KAPI
2281 BOOL
2282 APIENTRY
2283 NtGdiExtTextOutW(
2284 _In_ HDC hdc,
2285 _In_ INT x,
2286 _In_ INT y,
2287 _In_ UINT flOpts,
2288 IN OPTIONAL LPRECT prcl,
2289 _In_z_count_(cwc) LPWSTR pwsz,
2290 _In_ INT cwc,
2291 IN OPTIONAL LPINT pdx,
2292 _In_ DWORD dwCodePage
2293 );
2294
2295 W32KAPI
2296 INT
2297 APIENTRY
2298 NtGdiIntersectClipRect(
2299 _In_ HDC hdc,
2300 _In_ INT xLeft,
2301 _In_ INT yTop,
2302 _In_ INT xRight,
2303 _In_ INT yBottom);
2304
2305 W32KAPI
2306 HRGN
2307 APIENTRY
2308 NtGdiCreateRectRgn(
2309 _In_ INT xLeft,
2310 _In_ INT yTop,
2311 _In_ INT xRight,
2312 _In_ INT yBottom);
2313
2314 W32KAPI
2315 BOOL
2316 APIENTRY
2317 NtGdiPatBlt(
2318 _In_ HDC hdcDest,
2319 _In_ INT x,
2320 _In_ INT y,
2321 _In_ INT cx,
2322 _In_ INT cy,
2323 _In_ DWORD dwRop);
2324
2325 W32KAPI
2326 BOOL
2327 APIENTRY
2328 NtGdiPolyPatBlt(
2329 _In_ HDC hdc,
2330 _In_ DWORD rop4,
2331 _In_ PPOLYPATBLT pPoly,
2332 _In_ DWORD Count,
2333 _In_ DWORD Mode);
2334
2335 W32KAPI
2336 BOOL
2337 APIENTRY
2338 NtGdiUnrealizeObject(
2339 _In_ HANDLE h);
2340
2341 W32KAPI
2342 HANDLE
2343 APIENTRY
2344 NtGdiGetStockObject(
2345 _In_ INT iObject);
2346
2347 W32KAPI
2348 HBITMAP
2349 APIENTRY
2350 NtGdiCreateCompatibleBitmap(
2351 _In_ HDC hdc,
2352 _In_ INT cx,
2353 _In_ INT cy);
2354
2355 W32KAPI
2356 BOOL
2357 APIENTRY
2358 NtGdiLineTo(
2359 _In_ HDC hdc,
2360 _In_ INT x,
2361 _In_ INT y);
2362
2363 _Success_(return != FALSE)
2364 W32KAPI
2365 BOOL
2366 APIENTRY
2367 NtGdiMoveTo(
2368 _In_ HDC hdc,
2369 _In_ INT x,
2370 _In_ INT y,
2371 _Out_opt_ LPPOINT pptOut);
2372
2373 W32KAPI
2374 INT
2375 APIENTRY
2376 NtGdiExtGetObjectW(
2377 _In_ HANDLE h,
2378 _In_ INT cj,
2379 _Out_opt_bytecap_(cj) LPVOID pvOut);
2380
2381 W32KAPI
2382 INT
2383 APIENTRY
2384 NtGdiGetDeviceCaps(
2385 _In_ HDC hdc,
2386 _In_ INT i);
2387
2388 W32KAPI
2389 BOOL
2390 APIENTRY
2391 NtGdiGetDeviceCapsAll (
2392 _In_ HDC hdc,
2393 _Out_ PDEVCAPS pDevCaps);
2394
2395 W32KAPI
2396 BOOL
2397 APIENTRY
2398 NtGdiStretchBlt(
2399 _In_ HDC hdcDst,
2400 _In_ INT xDst,
2401 _In_ INT yDst,
2402 _In_ INT cxDst,
2403 _In_ INT cyDst,
2404 _In_ HDC hdcSrc,
2405 _In_ INT xSrc,
2406 _In_ INT ySrc,
2407 _In_ INT cxSrc,
2408 _In_ INT cySrc,
2409 _In_ DWORD dwRop,
2410 _In_ DWORD dwBackColor);
2411
2412 _Success_(return != FALSE)
2413 W32KAPI
2414 BOOL
2415 APIENTRY
2416 NtGdiSetBrushOrg(
2417 _In_ HDC hdc,
2418 _In_ INT x,
2419 _In_ INT y,
2420 _Out_opt_ LPPOINT pptOut);
2421
2422 W32KAPI
2423 HBITMAP
2424 APIENTRY
2425 NtGdiCreateBitmap(
2426 _In_ INT cx,
2427 _In_ INT cy,
2428 _In_ UINT cPlanes,
2429 _In_ UINT cBPP,
2430 _In_opt_ LPBYTE pjInit);
2431
2432 W32KAPI
2433 HPALETTE
2434 APIENTRY
2435 NtGdiCreateHalftonePalette(
2436 _In_ HDC hdc);
2437
2438 W32KAPI
2439 BOOL
2440 APIENTRY
2441 NtGdiRestoreDC(
2442 _In_ HDC hdc,
2443 _In_ INT iLevel);
2444
2445 W32KAPI
2446 INT
2447 APIENTRY
2448 NtGdiExcludeClipRect(
2449 _In_ HDC hdc,
2450 _In_ INT xLeft,
2451 _In_ INT yTop,
2452 _In_ INT xRight,
2453 _In_ INT yBottom);
2454
2455 W32KAPI
2456 INT
2457 APIENTRY
2458 NtGdiSaveDC(
2459 _In_ HDC hdc);
2460
2461 W32KAPI
2462 INT
2463 APIENTRY
2464 NtGdiCombineRgn(
2465 _In_ HRGN hrgnDst,
2466 _In_ HRGN hrgnSrc1,
2467 _In_opt_ HRGN hrgnSrc2,
2468 _In_ INT iMode);
2469
2470 W32KAPI
2471 BOOL
2472 APIENTRY
2473 NtGdiSetRectRgn(
2474 _In_ HRGN hrgn,
2475 _In_ INT xLeft,
2476 _In_ INT yTop,
2477 _In_ INT xRight,
2478 _In_ INT yBottom);
2479
2480 W32KAPI
2481 LONG
2482 APIENTRY
2483 NtGdiSetBitmapBits(
2484 _In_ HBITMAP hbm,
2485 _In_ ULONG cj,
2486 _In_bytecount_(cj) PBYTE pjInit);
2487
2488 W32KAPI
2489 INT
2490 APIENTRY
2491 NtGdiGetDIBitsInternal(
2492 _In_ HDC hdc,
2493 _In_ HBITMAP hbm,
2494 _In_ UINT iStartScan,
2495 _In_ UINT cScans,
2496 _Out_opt_ LPBYTE pBits,
2497 _Inout_ LPBITMAPINFO pbmi,
2498 _In_ UINT iUsage,
2499 _In_ UINT cjMaxBits,
2500 _In_ UINT cjMaxInfo);
2501
2502 W32KAPI
2503 INT
2504 APIENTRY
2505 NtGdiOffsetRgn(
2506 _In_ HRGN hrgn,
2507 _In_ INT cx,
2508 _In_ INT cy);
2509
2510 W32KAPI
2511 INT
2512 APIENTRY
2513 NtGdiGetRgnBox(
2514 _In_ HRGN hrgn,
2515 _Out_ LPRECT prcOut);
2516
2517 W32KAPI
2518 BOOL
2519 APIENTRY
2520 NtGdiRectInRegion(
2521 _In_ HRGN hrgn,
2522 IN OUT LPRECT prcl
2523 );
2524
2525 W32KAPI
2526 DWORD
2527 APIENTRY
2528 NtGdiGetBoundsRect(
2529 _In_ HDC hdc,
2530 _Out_ LPRECT prc,
2531 _In_ DWORD f);
2532
2533 W32KAPI
2534 BOOL
2535 APIENTRY
2536 NtGdiPtInRegion(
2537 _In_ HRGN hrgn,
2538 _In_ INT x,
2539 _In_ INT y);
2540
2541 W32KAPI
2542 COLORREF
2543 APIENTRY
2544 NtGdiGetNearestColor(
2545 _In_ HDC hdc,
2546 _In_ COLORREF cr);
2547
2548 W32KAPI
2549 UINT
2550 APIENTRY
2551 NtGdiGetSystemPaletteUse(
2552 _In_ HDC hdc);
2553
2554 W32KAPI
2555 UINT
2556 APIENTRY
2557 NtGdiSetSystemPaletteUse(
2558 _In_ HDC hdc,
2559 _In_ UINT ui);
2560
2561 W32KAPI
2562 DWORD
2563 APIENTRY
2564 NtGdiGetRegionData(
2565 _In_ HRGN hrgn,
2566 _In_ DWORD nCount,
2567 _Out_opt_ LPRGNDATA lpRgnData);
2568
2569 W32KAPI
2570 BOOL
2571 APIENTRY
2572 NtGdiInvertRgn(
2573 _In_ HDC hdc,
2574 _In_ HRGN hrgn);
2575
2576 INT
2577 W32KAPI
2578 APIENTRY
2579 NtGdiAddFontResourceW(
2580 _In_z_count_(cwc) WCHAR *pwszFiles,
2581 _In_ ULONG cwc,
2582 _In_ ULONG cFiles,
2583 _In_ FLONG f,
2584 _In_ DWORD dwPidTid,
2585 _In_opt_ DESIGNVECTOR *pdv);
2586
2587 #if (_WIN32_WINNT >= 0x0500)
2588 W32KAPI
2589 HFONT
2590 APIENTRY
2591 NtGdiHfontCreate(
2592 _In_bytecount_(cjElfw) ENUMLOGFONTEXDVW *pelfw,
2593 _In_ ULONG cjElfw,
2594 _In_ LFTYPE lft,
2595 _In_ FLONG fl,
2596 _In_ PVOID pvCliData);
2597 #else
2598 W32KAPI
2599 HFONT
2600 APIENTRY
2601 NtGdiHfontCreate(
2602 _In_bytecount_(cjElfw) LPEXTLOGFONTW pelfw,
2603 _In_ ULONG cjElfw,
2604 _In_ LFTYPE lft,
2605 _In_ FLONG fl,
2606 _In_ PVOID pvCliData
2607 );
2608 #endif
2609
2610 W32KAPI
2611 ULONG
2612 APIENTRY
2613 NtGdiSetFontEnumeration(
2614 _In_ ULONG ulType);
2615
2616 W32KAPI
2617 BOOL
2618 APIENTRY
2619 NtGdiEnumFontClose(
2620 _In_ ULONG_PTR idEnum);
2621
2622 #if (_WIN32_WINNT >= 0x0500)
2623 W32KAPI
2624 BOOL
2625 APIENTRY
2626 NtGdiEnumFontChunk(
2627 _In_ HDC hdc,
2628 _In_ ULONG_PTR idEnum,
2629 _In_ ULONG cjEfdw,
2630 OUT ULONG *pcjEfdw,
2631 OUT PENUMFONTDATAW pefdw
2632 );
2633 #endif
2634
2635 W32KAPI
2636 ULONG_PTR
2637 APIENTRY
2638 NtGdiEnumFontOpen(
2639 _In_ HDC hdc,
2640 _In_ ULONG iEnumType,
2641 _In_ FLONG flWin31Compat,
2642 _In_ ULONG cwchMax,
2643 IN OPTIONAL LPWSTR pwszFaceName,
2644 _In_ ULONG lfCharSet,
2645 OUT ULONG *pulCount
2646 );
2647
2648 W32KAPI
2649 INT
2650 APIENTRY
2651 NtGdiQueryFonts(
2652 OUT PUNIVERSAL_FONT_ID pufiFontList,
2653 _In_ ULONG nBufferSize,
2654 OUT PLARGE_INTEGER pTimeStamp
2655 );
2656
2657 W32KAPI
2658 BOOL
2659 APIENTRY
2660 NtGdiConsoleTextOut(
2661 _In_ HDC hdc,
2662 _In_ POLYTEXTW *lpto,
2663 _In_ UINT nStrings,
2664 _In_ RECTL *prclBounds);
2665
2666 W32KAPI
2667 NTSTATUS
2668 APIENTRY
2669 NtGdiFullscreenControl(
2670 IN FULLSCREENCONTROL FullscreenCommand,
2671 IN PVOID FullscreenInput,
2672 _In_ DWORD FullscreenInputLength,
2673 OUT PVOID FullscreenOutput,
2674 IN OUT PULONG FullscreenOutputLength
2675 );
2676
2677 W32KAPI
2678 DWORD
2679 APIENTRY
2680 NtGdiGetCharSet(
2681 _In_ HDC hdc);
2682
2683 W32KAPI
2684 BOOL
2685 APIENTRY
2686 NtGdiEnableEudc(
2687 _In_ BOOL b);
2688
2689 W32KAPI
2690 BOOL
2691 APIENTRY
2692 NtGdiEudcLoadUnloadLink(
2693 IN OPTIONAL LPCWSTR pBaseFaceName,
2694 _In_ UINT cwcBaseFaceName,
2695 IN LPCWSTR pEudcFontPath,
2696 _In_ UINT cwcEudcFontPath,
2697 _In_ INT iPriority,
2698 _In_ INT iFontLinkType,
2699 _In_ BOOL bLoadLin
2700 );
2701
2702 W32KAPI
2703 UINT
2704 APIENTRY
2705 NtGdiGetStringBitmapW(
2706 _In_ HDC hdc,
2707 IN LPWSTR pwsz,
2708 _In_ UINT cwc,
2709 OUT BYTE *lpSB,
2710 _In_ UINT cj
2711 );
2712
2713 W32KAPI
2714 ULONG
2715 APIENTRY
2716 NtGdiGetEudcTimeStampEx(
2717 _In_opt_z_count_(cwcBaseFaceName) LPWSTR lpBaseFaceName,
2718 _In_ ULONG cwcBaseFaceName,
2719 _In_ BOOL bSystemTimeStamp);
2720
2721 W32KAPI
2722 ULONG
2723 APIENTRY
2724 NtGdiQueryFontAssocInfo(
2725 _In_ HDC hdc);
2726
2727 #if (_WIN32_WINNT >= 0x0500)
2728 W32KAPI
2729 DWORD
2730 APIENTRY
2731 NtGdiGetFontUnicodeRanges(
2732 _In_ HDC hdc,
2733 _Out_opt_ LPGLYPHSET pgs);
2734 #endif
2735
2736 #ifdef LANGPACK
2737 W32KAPI
2738 BOOL
2739 APIENTRY
2740 NtGdiGetRealizationInfo(
2741 _In_ HDC hdc,
2742 _Out_ PREALIZATION_INFO pri,
2743 _In_ HFONT hf);
2744 #endif
2745
2746 W32KAPI
2747 BOOL
2748 APIENTRY
2749 NtGdiAddRemoteMMInstanceToDC(
2750 _In_ HDC hdc,
2751 _In_ DOWNLOADDESIGNVECTOR *pddv,
2752 _In_ ULONG cjDDV);
2753
2754 W32KAPI
2755 BOOL
2756 APIENTRY
2757 NtGdiUnloadPrinterDriver(
2758 _In_z_bytecount_(cbDriverName) LPWSTR pDriverName,
2759 _In_ ULONG cbDriverName);
2760
2761 W32KAPI
2762 BOOL
2763 APIENTRY
2764 NtGdiEngAssociateSurface(
2765 _In_ HSURF hsurf,
2766 _In_ HDEV hdev,
2767 _In_ FLONG flHooks);
2768
2769 W32KAPI
2770 BOOL
2771 APIENTRY
2772 NtGdiEngEraseSurface(
2773 _In_ SURFOBJ *pso,
2774 _In_ RECTL *prcl,
2775 _In_ ULONG iColor);
2776
2777 W32KAPI
2778 HBITMAP
2779 APIENTRY
2780 NtGdiEngCreateBitmap(
2781 _In_ SIZEL sizl,
2782 _In_ LONG lWidth,
2783 _In_ ULONG iFormat,
2784 _In_ FLONG fl,
2785 _In_opt_ PVOID pvBits);
2786
2787 W32KAPI
2788 BOOL
2789 APIENTRY
2790 NtGdiEngDeleteSurface(
2791 _In_ HSURF hsurf);
2792
2793 W32KAPI
2794 SURFOBJ*
2795 APIENTRY
2796 NtGdiEngLockSurface(
2797 _In_ HSURF hsurf);
2798
2799 W32KAPI
2800 VOID
2801 APIENTRY
2802 NtGdiEngUnlockSurface(
2803 _In_ SURFOBJ *pso);
2804
2805 W32KAPI
2806 BOOL
2807 APIENTRY
2808 NtGdiEngMarkBandingSurface(
2809 _In_ HSURF hsurf);
2810
2811 W32KAPI
2812 HSURF
2813 APIENTRY
2814 NtGdiEngCreateDeviceSurface(
2815 _In_ DHSURF dhsurf,
2816 _In_ SIZEL sizl,
2817 _In_ ULONG iFormatCompat);
2818
2819 W32KAPI
2820 HBITMAP
2821 APIENTRY
2822 NtGdiEngCreateDeviceBitmap(
2823 _In_ DHSURF dhsurf,
2824 _In_ SIZEL sizl,
2825 _In_ ULONG iFormatCompat);
2826
2827 W32KAPI
2828 BOOL
2829 APIENTRY
2830 NtGdiEngCopyBits(
2831 _In_ SURFOBJ *psoDst,
2832 _In_ SURFOBJ *psoSrc,
2833 _In_opt_ CLIPOBJ *pco,
2834 _In_opt_ XLATEOBJ *pxlo,
2835 _In_ RECTL *prclDst,
2836 _In_ POINTL *pptlSrc);
2837
2838 W32KAPI
2839 BOOL
2840 APIENTRY
2841 NtGdiEngStretchBlt(
2842 _In_ SURFOBJ *psoDest,
2843 _In_ SURFOBJ *psoSrc,
2844 _In_opt_ SURFOBJ *psoMask,
2845 _In_opt_ CLIPOBJ *pco,
2846 _In_opt_ XLATEOBJ *pxlo,
2847 _In_opt_ COLORADJUSTMENT *pca,
2848 _In_ POINTL *pptlHTOrg,
2849 _In_ RECTL *prclDest,
2850 _In_ RECTL *prclSrc,
2851 _When_(psoMask, _In_) POINTL *pptlMask,
2852 _In_ ULONG iMode);
2853
2854 W32KAPI
2855 BOOL
2856 APIENTRY
2857 NtGdiEngBitBlt(
2858 _In_ SURFOBJ *psoTrg,
2859 _In_opt_ SURFOBJ *psoSrc,
2860 _In_opt_ SURFOBJ *psoMask,
2861 _In_opt_ CLIPOBJ *pco,
2862 _In_opt_ XLATEOBJ *pxlo,
2863 _In_ RECTL *prclTrg,
2864 _When_(psoSrc, _In_) POINTL *pptlSrc,
2865 _When_(psoMask, _In_) POINTL *pptlMask,
2866 _In_opt_ BRUSHOBJ *pbo,
2867 _When_(pbo, _In_) POINTL *pptlBrush,
2868 _In_ ROP4 rop4);
2869
2870 W32KAPI
2871 BOOL
2872 APIENTRY
2873 NtGdiEngPlgBlt(
2874 _In_ SURFOBJ *psoTrg,
2875 _In_ SURFOBJ *psoSrc,
2876 _In_opt_ SURFOBJ *psoMsk,
2877 _In_ CLIPOBJ *pco,
2878 _In_opt_ XLATEOBJ *pxlo,
2879 _In_ COLORADJUSTMENT *pca,
2880 _In_ POINTL *pptlBrushOrg,
2881 _In_ POINTFIX *pptfx,
2882 _In_ RECTL *prcl,
2883 _When_(psoMsk, _In_) POINTL *pptl,
2884 _In_ ULONG iMode);
2885
2886 W32KAPI
2887 HPALETTE
2888 APIENTRY
2889 NtGdiEngCreatePalette(
2890 _In_ ULONG iMode,
2891 _In_ ULONG cColors,
2892 _In_ ULONG *pulColors,
2893 _In_ FLONG flRed,
2894 _In_ FLONG flGreen,
2895 _In_ FLONG flBlue);
2896
2897 W32KAPI
2898 BOOL
2899 APIENTRY
2900 NtGdiEngDeletePalette(
2901 _In_ HPALETTE hPal);
2902
2903 W32KAPI
2904 BOOL
2905 APIENTRY
2906 NtGdiEngStrokePath(
2907 IN SURFOBJ *pso,
2908 IN PATHOBJ *ppo,
2909 IN CLIPOBJ *pco,
2910 IN XFORMOBJ *pxo,
2911 IN BRUSHOBJ *pbo,
2912 IN POINTL *pptlBrushOrg,
2913 IN LINEATTRS *plineattrs,
2914 IN MIX mix
2915 );
2916
2917 W32KAPI
2918 BOOL
2919 APIENTRY
2920 NtGdiEngFillPath(
2921 IN SURFOBJ *pso,
2922 IN PATHOBJ *ppo,
2923 IN CLIPOBJ *pco,
2924 IN BRUSHOBJ *pbo,
2925 IN POINTL *pptlBrushOrg,
2926 IN MIX mix,
2927 IN FLONG flOptions
2928 );
2929
2930 W32KAPI
2931 BOOL
2932 APIENTRY
2933 NtGdiEngStrokeAndFillPath(
2934 IN SURFOBJ *pso,
2935 IN PATHOBJ *ppo,
2936 IN CLIPOBJ *pco,IN XFORMOBJ *pxo,
2937 IN BRUSHOBJ *pboStroke,
2938 IN LINEATTRS *plineattrs,
2939 IN BRUSHOBJ *pboFill,
2940 IN POINTL *pptlBrushOrg,
2941 IN MIX mix,
2942 IN FLONG flOptions
2943 );
2944
2945 W32KAPI
2946 BOOL
2947 APIENTRY
2948 NtGdiEngPaint(
2949 IN SURFOBJ *pso,
2950 IN CLIPOBJ *pco,
2951 IN BRUSHOBJ *pbo,
2952 IN POINTL *pptlBrushOrg,
2953 IN MIX mix
2954 );
2955
2956 W32KAPI
2957 BOOL
2958 APIENTRY
2959 NtGdiEngLineTo(
2960 IN SURFOBJ *pso,
2961 IN CLIPOBJ *pco,
2962 IN BRUSHOBJ *pbo,
2963 _In_ LONG x1,
2964 _In_ LONG y1,
2965 _In_ LONG x2,
2966 _In_ LONG y2,
2967 IN RECTL *prclBounds,
2968 IN MIX mix
2969 );
2970
2971 W32KAPI
2972 BOOL
2973 APIENTRY
2974 NtGdiEngAlphaBlend(
2975 IN SURFOBJ *psoDest,
2976 IN SURFOBJ *psoSrc,
2977 IN CLIPOBJ *pco,
2978 IN XLATEOBJ *pxlo,
2979 IN RECTL *prclDest,
2980 IN RECTL *prclSrc,
2981 IN BLENDOBJ *pBlendObj
2982 );
2983
2984 W32KAPI
2985 BOOL
2986 APIENTRY
2987 NtGdiEngGradientFill(
2988 IN SURFOBJ *psoDest,
2989 IN CLIPOBJ *pco,
2990 IN XLATEOBJ *pxlo,
2991 IN TRIVERTEX *pVertex,
2992 _In_ ULONG nVertex,
2993 IN PVOID pMesh,
2994 _In_ ULONG nMesh,
2995 IN RECTL *prclExtents,
2996 IN POINTL *pptlDitherOrg,
2997 _In_ ULONG ulMode
2998 );
2999
3000 W32KAPI
3001 BOOL
3002 APIENTRY
3003 NtGdiEngTransparentBlt(
3004 IN SURFOBJ *psoDst,
3005 IN SURFOBJ *psoSrc,
3006 IN CLIPOBJ *pco,
3007 IN XLATEOBJ *pxlo,
3008 IN RECTL *prclDst,
3009 IN RECTL *prclSrc,
3010 _In_ ULONG iTransColor,
3011 _In_ ULONG ulReserved
3012 );
3013
3014 W32KAPI
3015 BOOL
3016 APIENTRY
3017 NtGdiEngTextOut(
3018 IN SURFOBJ *pso,
3019 IN STROBJ *pstro,
3020 IN FONTOBJ *pfo,
3021 IN CLIPOBJ *pco,
3022 IN RECTL *prclExtra,
3023 IN RECTL *prclOpaque,
3024 IN BRUSHOBJ *pboFore,
3025 IN BRUSHOBJ *pboOpaque,
3026 IN POINTL *pptlOrg,
3027 IN MIX mix
3028 );
3029
3030 W32KAPI
3031 BOOL
3032 APIENTRY
3033 NtGdiEngStretchBltROP(
3034 IN SURFOBJ *psoTrg,
3035 IN SURFOBJ *psoSrc,
3036 IN SURFOBJ *psoMask,
3037 IN CLIPOBJ *pco,
3038 IN XLATEOBJ *pxlo,
3039 IN COLORADJUSTMENT *pca,
3040 IN POINTL *pptlBrushOrg,
3041 IN RECTL *prclTrg,
3042 IN RECTL *prclSrc,
3043 IN POINTL *pptlMask,
3044 _In_ ULONG iMode,
3045 IN BRUSHOBJ *pbo,
3046 IN ROP4 rop4
3047 );
3048
3049 W32KAPI
3050 ULONG
3051 APIENTRY
3052 NtGdiXLATEOBJ_cGetPalette(
3053 IN XLATEOBJ *pxlo,
3054 _In_ ULONG iPal,
3055 _In_ ULONG cPal,
3056 OUT ULONG *pPal
3057 );
3058
3059 W32KAPI
3060 ULONG
3061 APIENTRY
3062 NtGdiCLIPOBJ_cEnumStart(
3063 IN CLIPOBJ *pco,
3064 _In_ BOOL bAll,
3065 _In_ ULONG iType,
3066 _In_ ULONG iDirection,
3067 _In_ ULONG cLimit
3068 );
3069
3070 W32KAPI
3071 BOOL
3072 APIENTRY
3073 NtGdiCLIPOBJ_bEnum(
3074 IN CLIPOBJ *pco,
3075 _In_ ULONG cj,
3076 OUT ULONG *pul
3077 );
3078
3079 W32KAPI
3080 PATHOBJ*
3081 APIENTRY
3082 NtGdiCLIPOBJ_ppoGetPath(
3083 IN CLIPOBJ *pco
3084 );
3085
3086 W32KAPI
3087 CLIPOBJ*
3088 APIENTRY
3089 NtGdiEngCreateClip(VOID);
3090
3091 W32KAPI
3092 VOID
3093 APIENTRY
3094 NtGdiEngDeleteClip(
3095 IN CLIPOBJ*pco
3096 );
3097
3098 W32KAPI
3099 PVOID
3100 APIENTRY
3101 NtGdiBRUSHOBJ_pvAllocRbrush(
3102 IN BRUSHOBJ *pbo,
3103 _In_ ULONG cj
3104 );
3105
3106 W32KAPI
3107 PVOID
3108 APIENTRY
3109 NtGdiBRUSHOBJ_pvGetRbrush(
3110 IN BRUSHOBJ *pbo
3111 );
3112
3113 W32KAPI
3114 ULONG
3115 APIENTRY
3116 NtGdiBRUSHOBJ_ulGetBrushColor(
3117 IN BRUSHOBJ *pbo
3118 );
3119
3120 W32KAPI
3121 HANDLE
3122 APIENTRY
3123 NtGdiBRUSHOBJ_hGetColorTransform(
3124 IN BRUSHOBJ *pbo
3125 );
3126
3127 W32KAPI
3128 BOOL
3129 APIENTRY
3130 NtGdiXFORMOBJ_bApplyXform(
3131 IN XFORMOBJ *pxo,
3132 _In_ ULONG iMode,
3133 _In_ ULONG cPoints,
3134 IN PVOID pvIn,
3135 OUT PVOID pvOut
3136 );
3137
3138 W32KAPI
3139 ULONG
3140 APIENTRY
3141 NtGdiXFORMOBJ_iGetXform(
3142 IN XFORMOBJ *pxo,
3143 OUT OPTIONAL XFORML *pxform
3144 );
3145
3146 W32KAPI
3147 VOID
3148 APIENTRY
3149 NtGdiFONTOBJ_vGetInfo(
3150 IN FONTOBJ *pfo,
3151 _In_ ULONG cjSize,
3152 OUT FONTINFO *pfi
3153 );
3154
3155 W32KAPI
3156 ULONG
3157 APIENTRY
3158 NtGdiFONTOBJ_cGetGlyphs(
3159 IN FONTOBJ *pfo,
3160 _In_ ULONG iMode,
3161 _In_ ULONG cGlyph,
3162 IN HGLYPH *phg,
3163 OUT PVOID *ppvGlyph
3164 );
3165
3166 W32KAPI
3167 XFORMOBJ*
3168 APIENTRY
3169 NtGdiFONTOBJ_pxoGetXform(
3170 IN FONTOBJ *pfo
3171 );
3172
3173 W32KAPI
3174 IFIMETRICS*
3175 APIENTRY
3176 NtGdiFONTOBJ_pifi(
3177 IN FONTOBJ *pfo
3178 );
3179
3180 W32KAPI
3181 FD_GLYPHSET*
3182 APIENTRY
3183 NtGdiFONTOBJ_pfdg(
3184 IN FONTOBJ *pfo
3185 );
3186
3187 W32KAPI
3188 ULONG
3189 APIENTRY
3190 NtGdiFONTOBJ_cGetAllGlyphHandles(
3191 IN FONTOBJ *pfo,
3192 OUT OPTIONAL HGLYPH *phg
3193 );
3194
3195 W32KAPI
3196 PVOID
3197 APIENTRY
3198 NtGdiFONTOBJ_pvTrueTypeFontFile(
3199 IN FONTOBJ *pfo,
3200 OUT ULONG *pcjFile
3201 );
3202
3203 W32KAPI
3204 PFD_GLYPHATTR
3205 APIENTRY
3206 NtGdiFONTOBJ_pQueryGlyphAttrs(
3207 IN FONTOBJ *pfo,
3208 _In_ ULONG iMode
3209 );
3210
3211 W32KAPI
3212 BOOL
3213 APIENTRY
3214 NtGdiSTROBJ_bEnum(
3215 IN STROBJ *pstro,
3216 OUT ULONG *pc,
3217 OUT PGLYPHPOS *ppgpos
3218 );
3219
3220 W32KAPI
3221 BOOL
3222 APIENTRY
3223 NtGdiSTROBJ_bEnumPositionsOnly(
3224 IN STROBJ *pstro,
3225 OUT ULONG *pc,
3226 OUT PGLYPHPOS *ppgpos
3227 );
3228
3229 W32KAPI
3230 VOID
3231 APIENTRY
3232 NtGdiSTROBJ_vEnumStart(
3233 _Inout_ STROBJ *pstro);
3234
3235 W32KAPI
3236 DWORD
3237 APIENTRY
3238 NtGdiSTROBJ_dwGetCodePage(
3239 IN STROBJ *pstro
3240 );
3241
3242 W32KAPI
3243 BOOL
3244 APIENTRY
3245 NtGdiSTROBJ_bGetAdvanceWidths(
3246 IN STROBJ*pstro,
3247 _In_ ULONG iFirst,
3248 _In_ ULONG c,
3249 OUT POINTQF*pptqD
3250 );
3251
3252 W32KAPI
3253 FD_GLYPHSET*
3254 APIENTRY
3255 NtGdiEngComputeGlyphSet(
3256 _In_ INT nCodePage,
3257 _In_ INT nFirstChar,
3258 _In_ INT cChars
3259 );
3260
3261 W32KAPI
3262 ULONG
3263 APIENTRY
3264 NtGdiXLATEOBJ_iXlate(
3265 IN XLATEOBJ *pxlo,
3266 _In_ ULONG iColor
3267 );
3268
3269 W32KAPI
3270 HANDLE
3271 APIENTRY
3272 NtGdiXLATEOBJ_hGetColorTransform(
3273 IN XLATEOBJ *pxlo
3274 );
3275
3276 W32KAPI
3277 VOID
3278 APIENTRY
3279 NtGdiPATHOBJ_vGetBounds(
3280 IN PATHOBJ *ppo,
3281 OUT PRECTFX prectfx
3282 );
3283
3284 W32KAPI
3285 BOOL
3286 APIENTRY
3287 NtGdiPATHOBJ_bEnum(
3288 IN PATHOBJ *ppo,
3289 OUT PATHDATA *ppd
3290 );
3291
3292 W32KAPI
3293 VOID
3294 APIENTRY
3295 NtGdiPATHOBJ_vEnumStart(
3296 IN PATHOBJ *ppo
3297 );
3298
3299 W32KAPI
3300 VOID
3301 APIENTRY
3302 NtGdiEngDeletePath(
3303 IN PATHOBJ *ppo
3304 );
3305
3306 W32KAPI
3307 VOID
3308 APIENTRY
3309 NtGdiPATHOBJ_vEnumStartClipLines(
3310 IN PATHOBJ *ppo,
3311 IN CLIPOBJ *pco,
3312 IN SURFOBJ *pso,
3313 IN LINEATTRS *pla
3314 );
3315
3316 W32KAPI
3317 BOOL
3318 APIENTRY
3319 NtGdiPATHOBJ_bEnumClipLines(
3320 IN PATHOBJ *ppo,
3321 _In_ ULONG cb,
3322 OUT CLIPLINE *pcl
3323 );
3324
3325 W32KAPI
3326 BOOL
3327 APIENTRY
3328 NtGdiEngCheckAbort(
3329 IN SURFOBJ *pso
3330 );
3331
3332 W32KAPI
3333 DHPDEV
3334 APIENTRY
3335 NtGdiGetDhpdev(
3336 IN HDEV hdev
3337 );
3338
3339 W32KAPI
3340 LONG
3341 APIENTRY
3342 NtGdiHT_Get8BPPFormatPalette(
3343 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
3344 IN USHORT RedGamma,
3345 IN USHORT GreenGamma,
3346 IN USHORT BlueGamma
3347 );
3348
3349 W32KAPI
3350 LONG
3351 APIENTRY
3352 NtGdiHT_Get8BPPMaskPalette(
3353 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
3354 _In_ BOOL Use8BPPMaskPal,
3355 IN BYTE CMYMask,
3356 IN USHORT RedGamma,
3357 IN USHORT GreenGamma,
3358 IN USHORT BlueGamma
3359 );
3360
3361 W32KAPI
3362 BOOL
3363 APIENTRY
3364 NtGdiUpdateTransform(
3365 _In_ HDC hdc
3366 );
3367
3368 W32KAPI
3369 DWORD
3370 APIENTRY
3371 NtGdiSetLayout(
3372 _In_ HDC hdc,
3373 _In_ LONG wox,
3374 _In_ DWORD dwLayout
3375 );
3376
3377 W32KAPI
3378 BOOL
3379 APIENTRY
3380 NtGdiMirrorWindowOrg(
3381 _In_ HDC hdc
3382 );
3383
3384 W32KAPI
3385 LONG
3386 APIENTRY
3387 NtGdiGetDeviceWidth(
3388 _In_ HDC hdc
3389 );
3390
3391 W32KAPI
3392 BOOL
3393 APIENTRY
3394 NtGdiSetPUMPDOBJ(
3395 IN HUMPD humpd,
3396 _In_ BOOL bStoreID,
3397 OUT HUMPD *phumpd,
3398 OUT BOOL *pbWOW64
3399 );
3400
3401 W32KAPI
3402 BOOL
3403 APIENTRY
3404 NtGdiBRUSHOBJ_DeleteRbrush(
3405 IN BRUSHOBJ *pbo,
3406 IN BRUSHOBJ *pboB
3407 );
3408
3409 W32KAPI
3410 BOOL
3411 APIENTRY
3412 NtGdiUMPDEngFreeUserMem(
3413 IN KERNEL_PVOID *ppv
3414 );
3415
3416 W32KAPI
3417 HBITMAP
3418 APIENTRY
3419 NtGdiSetBitmapAttributes(
3420 IN HBITMAP hbm,
3421 _In_ DWORD dwFlags
3422 );
3423
3424 W32KAPI
3425 HBITMAP
3426 APIENTRY
3427 NtGdiClearBitmapAttributes(
3428 IN HBITMAP hbm,
3429 _In_ DWORD dwFlags
3430 );
3431
3432 W32KAPI
3433 HBRUSH
3434 APIENTRY
3435 NtGdiSetBrushAttributes(
3436 _In_ HBRUSH hbm,
3437 _In_ DWORD dwFlags
3438 );
3439
3440 W32KAPI
3441 HBRUSH
3442 APIENTRY
3443 NtGdiClearBrushAttributes(
3444 _In_ HBRUSH hbm,
3445 _In_ DWORD dwFlags
3446 );
3447
3448 W32KAPI
3449 BOOL
3450 APIENTRY
3451 NtGdiDrawStream(
3452 _In_ HDC hdcDst,
3453 _In_ ULONG cjIn,
3454 IN VOID *pvIn
3455 );
3456
3457 W32KAPI
3458 BOOL
3459 APIENTRY
3460 NtGdiMakeObjectXferable(
3461 _In_ HANDLE h,
3462 _In_ DWORD dwProcessId
3463 );
3464
3465 W32KAPI
3466 BOOL
3467 APIENTRY
3468 NtGdiMakeObjectUnXferable(
3469 _In_ HANDLE h
3470 );
3471
3472 W32KAPI
3473 BOOL
3474 APIENTRY
3475 NtGdiInitSpool(VOID);
3476
3477 /* FIXME wrong prototypes fix the build */
3478 W32KAPI
3479 INT
3480 APIENTRY
3481 NtGdiGetSpoolMessage( DWORD u1,
3482 DWORD u2,
3483 DWORD u3,
3484 DWORD u4);
3485 #endif