[WIN32K]
[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 _Success_(return!=FALSE)
2389 W32KAPI
2390 BOOL
2391 APIENTRY
2392 NtGdiGetDeviceCapsAll (
2393 _In_ HDC hdc,
2394 _Out_ PDEVCAPS pDevCaps);
2395
2396 W32KAPI
2397 BOOL
2398 APIENTRY
2399 NtGdiStretchBlt(
2400 _In_ HDC hdcDst,
2401 _In_ INT xDst,
2402 _In_ INT yDst,
2403 _In_ INT cxDst,
2404 _In_ INT cyDst,
2405 _In_ HDC hdcSrc,
2406 _In_ INT xSrc,
2407 _In_ INT ySrc,
2408 _In_ INT cxSrc,
2409 _In_ INT cySrc,
2410 _In_ DWORD dwRop,
2411 _In_ DWORD dwBackColor);
2412
2413 _Success_(return != FALSE)
2414 W32KAPI
2415 BOOL
2416 APIENTRY
2417 NtGdiSetBrushOrg(
2418 _In_ HDC hdc,
2419 _In_ INT x,
2420 _In_ INT y,
2421 _Out_opt_ LPPOINT pptOut);
2422
2423 W32KAPI
2424 HBITMAP
2425 APIENTRY
2426 NtGdiCreateBitmap(
2427 _In_ INT cx,
2428 _In_ INT cy,
2429 _In_ UINT cPlanes,
2430 _In_ UINT cBPP,
2431 _In_opt_ LPBYTE pjInit);
2432
2433 W32KAPI
2434 HPALETTE
2435 APIENTRY
2436 NtGdiCreateHalftonePalette(
2437 _In_ HDC hdc);
2438
2439 W32KAPI
2440 BOOL
2441 APIENTRY
2442 NtGdiRestoreDC(
2443 _In_ HDC hdc,
2444 _In_ INT iLevel);
2445
2446 W32KAPI
2447 INT
2448 APIENTRY
2449 NtGdiExcludeClipRect(
2450 _In_ HDC hdc,
2451 _In_ INT xLeft,
2452 _In_ INT yTop,
2453 _In_ INT xRight,
2454 _In_ INT yBottom);
2455
2456 W32KAPI
2457 INT
2458 APIENTRY
2459 NtGdiSaveDC(
2460 _In_ HDC hdc);
2461
2462 W32KAPI
2463 INT
2464 APIENTRY
2465 NtGdiCombineRgn(
2466 _In_ HRGN hrgnDst,
2467 _In_ HRGN hrgnSrc1,
2468 _In_opt_ HRGN hrgnSrc2,
2469 _In_ INT iMode);
2470
2471 W32KAPI
2472 BOOL
2473 APIENTRY
2474 NtGdiSetRectRgn(
2475 _In_ HRGN hrgn,
2476 _In_ INT xLeft,
2477 _In_ INT yTop,
2478 _In_ INT xRight,
2479 _In_ INT yBottom);
2480
2481 W32KAPI
2482 LONG
2483 APIENTRY
2484 NtGdiSetBitmapBits(
2485 _In_ HBITMAP hbm,
2486 _In_ ULONG cj,
2487 _In_bytecount_(cj) PBYTE pjInit);
2488
2489 W32KAPI
2490 INT
2491 APIENTRY
2492 NtGdiGetDIBitsInternal(
2493 _In_ HDC hdc,
2494 _In_ HBITMAP hbm,
2495 _In_ UINT iStartScan,
2496 _In_ UINT cScans,
2497 _Out_opt_ LPBYTE pBits,
2498 _Inout_ LPBITMAPINFO pbmi,
2499 _In_ UINT iUsage,
2500 _In_ UINT cjMaxBits,
2501 _In_ UINT cjMaxInfo);
2502
2503 W32KAPI
2504 INT
2505 APIENTRY
2506 NtGdiOffsetRgn(
2507 _In_ HRGN hrgn,
2508 _In_ INT cx,
2509 _In_ INT cy);
2510
2511 W32KAPI
2512 INT
2513 APIENTRY
2514 NtGdiGetRgnBox(
2515 _In_ HRGN hrgn,
2516 _Out_ LPRECT prcOut);
2517
2518 W32KAPI
2519 BOOL
2520 APIENTRY
2521 NtGdiRectInRegion(
2522 _In_ HRGN hrgn,
2523 IN OUT LPRECT prcl
2524 );
2525
2526 W32KAPI
2527 DWORD
2528 APIENTRY
2529 NtGdiGetBoundsRect(
2530 _In_ HDC hdc,
2531 _Out_ LPRECT prc,
2532 _In_ DWORD f);
2533
2534 W32KAPI
2535 BOOL
2536 APIENTRY
2537 NtGdiPtInRegion(
2538 _In_ HRGN hrgn,
2539 _In_ INT x,
2540 _In_ INT y);
2541
2542 W32KAPI
2543 COLORREF
2544 APIENTRY
2545 NtGdiGetNearestColor(
2546 _In_ HDC hdc,
2547 _In_ COLORREF cr);
2548
2549 W32KAPI
2550 UINT
2551 APIENTRY
2552 NtGdiGetSystemPaletteUse(
2553 _In_ HDC hdc);
2554
2555 W32KAPI
2556 UINT
2557 APIENTRY
2558 NtGdiSetSystemPaletteUse(
2559 _In_ HDC hdc,
2560 _In_ UINT ui);
2561
2562 W32KAPI
2563 DWORD
2564 APIENTRY
2565 NtGdiGetRegionData(
2566 _In_ HRGN hrgn,
2567 _In_ DWORD nCount,
2568 _Out_opt_ LPRGNDATA lpRgnData);
2569
2570 W32KAPI
2571 BOOL
2572 APIENTRY
2573 NtGdiInvertRgn(
2574 _In_ HDC hdc,
2575 _In_ HRGN hrgn);
2576
2577 INT
2578 W32KAPI
2579 APIENTRY
2580 NtGdiAddFontResourceW(
2581 _In_z_count_(cwc) WCHAR *pwszFiles,
2582 _In_ ULONG cwc,
2583 _In_ ULONG cFiles,
2584 _In_ FLONG f,
2585 _In_ DWORD dwPidTid,
2586 _In_opt_ DESIGNVECTOR *pdv);
2587
2588 #if (_WIN32_WINNT >= 0x0500)
2589 W32KAPI
2590 HFONT
2591 APIENTRY
2592 NtGdiHfontCreate(
2593 _In_bytecount_(cjElfw) ENUMLOGFONTEXDVW *pelfw,
2594 _In_ ULONG cjElfw,
2595 _In_ LFTYPE lft,
2596 _In_ FLONG fl,
2597 _In_ PVOID pvCliData);
2598 #else
2599 W32KAPI
2600 HFONT
2601 APIENTRY
2602 NtGdiHfontCreate(
2603 _In_bytecount_(cjElfw) LPEXTLOGFONTW pelfw,
2604 _In_ ULONG cjElfw,
2605 _In_ LFTYPE lft,
2606 _In_ FLONG fl,
2607 _In_ PVOID pvCliData
2608 );
2609 #endif
2610
2611 W32KAPI
2612 ULONG
2613 APIENTRY
2614 NtGdiSetFontEnumeration(
2615 _In_ ULONG ulType);
2616
2617 W32KAPI
2618 BOOL
2619 APIENTRY
2620 NtGdiEnumFontClose(
2621 _In_ ULONG_PTR idEnum);
2622
2623 #if (_WIN32_WINNT >= 0x0500)
2624 W32KAPI
2625 BOOL
2626 APIENTRY
2627 NtGdiEnumFontChunk(
2628 _In_ HDC hdc,
2629 _In_ ULONG_PTR idEnum,
2630 _In_ ULONG cjEfdw,
2631 OUT ULONG *pcjEfdw,
2632 OUT PENUMFONTDATAW pefdw
2633 );
2634 #endif
2635
2636 W32KAPI
2637 ULONG_PTR
2638 APIENTRY
2639 NtGdiEnumFontOpen(
2640 _In_ HDC hdc,
2641 _In_ ULONG iEnumType,
2642 _In_ FLONG flWin31Compat,
2643 _In_ ULONG cwchMax,
2644 IN OPTIONAL LPWSTR pwszFaceName,
2645 _In_ ULONG lfCharSet,
2646 OUT ULONG *pulCount
2647 );
2648
2649 W32KAPI
2650 INT
2651 APIENTRY
2652 NtGdiQueryFonts(
2653 OUT PUNIVERSAL_FONT_ID pufiFontList,
2654 _In_ ULONG nBufferSize,
2655 OUT PLARGE_INTEGER pTimeStamp
2656 );
2657
2658 W32KAPI
2659 BOOL
2660 APIENTRY
2661 NtGdiConsoleTextOut(
2662 _In_ HDC hdc,
2663 _In_ POLYTEXTW *lpto,
2664 _In_ UINT nStrings,
2665 _In_ RECTL *prclBounds);
2666
2667 W32KAPI
2668 NTSTATUS
2669 APIENTRY
2670 NtGdiFullscreenControl(
2671 IN FULLSCREENCONTROL FullscreenCommand,
2672 IN PVOID FullscreenInput,
2673 _In_ DWORD FullscreenInputLength,
2674 OUT PVOID FullscreenOutput,
2675 IN OUT PULONG FullscreenOutputLength
2676 );
2677
2678 W32KAPI
2679 DWORD
2680 APIENTRY
2681 NtGdiGetCharSet(
2682 _In_ HDC hdc);
2683
2684 W32KAPI
2685 BOOL
2686 APIENTRY
2687 NtGdiEnableEudc(
2688 _In_ BOOL b);
2689
2690 W32KAPI
2691 BOOL
2692 APIENTRY
2693 NtGdiEudcLoadUnloadLink(
2694 IN OPTIONAL LPCWSTR pBaseFaceName,
2695 _In_ UINT cwcBaseFaceName,
2696 IN LPCWSTR pEudcFontPath,
2697 _In_ UINT cwcEudcFontPath,
2698 _In_ INT iPriority,
2699 _In_ INT iFontLinkType,
2700 _In_ BOOL bLoadLin
2701 );
2702
2703 W32KAPI
2704 UINT
2705 APIENTRY
2706 NtGdiGetStringBitmapW(
2707 _In_ HDC hdc,
2708 IN LPWSTR pwsz,
2709 _In_ UINT cwc,
2710 OUT BYTE *lpSB,
2711 _In_ UINT cj
2712 );
2713
2714 W32KAPI
2715 ULONG
2716 APIENTRY
2717 NtGdiGetEudcTimeStampEx(
2718 _In_opt_z_count_(cwcBaseFaceName) LPWSTR lpBaseFaceName,
2719 _In_ ULONG cwcBaseFaceName,
2720 _In_ BOOL bSystemTimeStamp);
2721
2722 W32KAPI
2723 ULONG
2724 APIENTRY
2725 NtGdiQueryFontAssocInfo(
2726 _In_ HDC hdc);
2727
2728 #if (_WIN32_WINNT >= 0x0500)
2729 W32KAPI
2730 DWORD
2731 APIENTRY
2732 NtGdiGetFontUnicodeRanges(
2733 _In_ HDC hdc,
2734 _Out_opt_ LPGLYPHSET pgs);
2735 #endif
2736
2737 #ifdef LANGPACK
2738 W32KAPI
2739 BOOL
2740 APIENTRY
2741 NtGdiGetRealizationInfo(
2742 _In_ HDC hdc,
2743 _Out_ PREALIZATION_INFO pri,
2744 _In_ HFONT hf);
2745 #endif
2746
2747 W32KAPI
2748 BOOL
2749 APIENTRY
2750 NtGdiAddRemoteMMInstanceToDC(
2751 _In_ HDC hdc,
2752 _In_ DOWNLOADDESIGNVECTOR *pddv,
2753 _In_ ULONG cjDDV);
2754
2755 W32KAPI
2756 BOOL
2757 APIENTRY
2758 NtGdiUnloadPrinterDriver(
2759 _In_z_bytecount_(cbDriverName) LPWSTR pDriverName,
2760 _In_ ULONG cbDriverName);
2761
2762 W32KAPI
2763 BOOL
2764 APIENTRY
2765 NtGdiEngAssociateSurface(
2766 _In_ HSURF hsurf,
2767 _In_ HDEV hdev,
2768 _In_ FLONG flHooks);
2769
2770 W32KAPI
2771 BOOL
2772 APIENTRY
2773 NtGdiEngEraseSurface(
2774 _In_ SURFOBJ *pso,
2775 _In_ RECTL *prcl,
2776 _In_ ULONG iColor);
2777
2778 W32KAPI
2779 HBITMAP
2780 APIENTRY
2781 NtGdiEngCreateBitmap(
2782 _In_ SIZEL sizl,
2783 _In_ LONG lWidth,
2784 _In_ ULONG iFormat,
2785 _In_ FLONG fl,
2786 _In_opt_ PVOID pvBits);
2787
2788 W32KAPI
2789 BOOL
2790 APIENTRY
2791 NtGdiEngDeleteSurface(
2792 _In_ HSURF hsurf);
2793
2794 W32KAPI
2795 SURFOBJ*
2796 APIENTRY
2797 NtGdiEngLockSurface(
2798 _In_ HSURF hsurf);
2799
2800 W32KAPI
2801 VOID
2802 APIENTRY
2803 NtGdiEngUnlockSurface(
2804 _In_ SURFOBJ *pso);
2805
2806 W32KAPI
2807 BOOL
2808 APIENTRY
2809 NtGdiEngMarkBandingSurface(
2810 _In_ HSURF hsurf);
2811
2812 W32KAPI
2813 HSURF
2814 APIENTRY
2815 NtGdiEngCreateDeviceSurface(
2816 _In_ DHSURF dhsurf,
2817 _In_ SIZEL sizl,
2818 _In_ ULONG iFormatCompat);
2819
2820 W32KAPI
2821 HBITMAP
2822 APIENTRY
2823 NtGdiEngCreateDeviceBitmap(
2824 _In_ DHSURF dhsurf,
2825 _In_ SIZEL sizl,
2826 _In_ ULONG iFormatCompat);
2827
2828 W32KAPI
2829 BOOL
2830 APIENTRY
2831 NtGdiEngCopyBits(
2832 _In_ SURFOBJ *psoDst,
2833 _In_ SURFOBJ *psoSrc,
2834 _In_opt_ CLIPOBJ *pco,
2835 _In_opt_ XLATEOBJ *pxlo,
2836 _In_ RECTL *prclDst,
2837 _In_ POINTL *pptlSrc);
2838
2839 W32KAPI
2840 BOOL
2841 APIENTRY
2842 NtGdiEngStretchBlt(
2843 _In_ SURFOBJ *psoDest,
2844 _In_ SURFOBJ *psoSrc,
2845 _In_opt_ SURFOBJ *psoMask,
2846 _In_opt_ CLIPOBJ *pco,
2847 _In_opt_ XLATEOBJ *pxlo,
2848 _In_opt_ COLORADJUSTMENT *pca,
2849 _In_ POINTL *pptlHTOrg,
2850 _In_ RECTL *prclDest,
2851 _In_ RECTL *prclSrc,
2852 _When_(psoMask, _In_) POINTL *pptlMask,
2853 _In_ ULONG iMode);
2854
2855 W32KAPI
2856 BOOL
2857 APIENTRY
2858 NtGdiEngBitBlt(
2859 _In_ SURFOBJ *psoTrg,
2860 _In_opt_ SURFOBJ *psoSrc,
2861 _In_opt_ SURFOBJ *psoMask,
2862 _In_opt_ CLIPOBJ *pco,
2863 _In_opt_ XLATEOBJ *pxlo,
2864 _In_ RECTL *prclTrg,
2865 _When_(psoSrc, _In_) POINTL *pptlSrc,
2866 _When_(psoMask, _In_) POINTL *pptlMask,
2867 _In_opt_ BRUSHOBJ *pbo,
2868 _When_(pbo, _In_) POINTL *pptlBrush,
2869 _In_ ROP4 rop4);
2870
2871 W32KAPI
2872 BOOL
2873 APIENTRY
2874 NtGdiEngPlgBlt(
2875 _In_ SURFOBJ *psoTrg,
2876 _In_ SURFOBJ *psoSrc,
2877 _In_opt_ SURFOBJ *psoMsk,
2878 _In_ CLIPOBJ *pco,
2879 _In_opt_ XLATEOBJ *pxlo,
2880 _In_ COLORADJUSTMENT *pca,
2881 _In_ POINTL *pptlBrushOrg,
2882 _In_ POINTFIX *pptfx,
2883 _In_ RECTL *prcl,
2884 _When_(psoMsk, _In_) POINTL *pptl,
2885 _In_ ULONG iMode);
2886
2887 W32KAPI
2888 HPALETTE
2889 APIENTRY
2890 NtGdiEngCreatePalette(
2891 _In_ ULONG iMode,
2892 _In_ ULONG cColors,
2893 _In_ ULONG *pulColors,
2894 _In_ FLONG flRed,
2895 _In_ FLONG flGreen,
2896 _In_ FLONG flBlue);
2897
2898 W32KAPI
2899 BOOL
2900 APIENTRY
2901 NtGdiEngDeletePalette(
2902 _In_ HPALETTE hPal);
2903
2904 W32KAPI
2905 BOOL
2906 APIENTRY
2907 NtGdiEngStrokePath(
2908 IN SURFOBJ *pso,
2909 IN PATHOBJ *ppo,
2910 IN CLIPOBJ *pco,
2911 IN XFORMOBJ *pxo,
2912 IN BRUSHOBJ *pbo,
2913 IN POINTL *pptlBrushOrg,
2914 IN LINEATTRS *plineattrs,
2915 IN MIX mix
2916 );
2917
2918 W32KAPI
2919 BOOL
2920 APIENTRY
2921 NtGdiEngFillPath(
2922 IN SURFOBJ *pso,
2923 IN PATHOBJ *ppo,
2924 IN CLIPOBJ *pco,
2925 IN BRUSHOBJ *pbo,
2926 IN POINTL *pptlBrushOrg,
2927 IN MIX mix,
2928 IN FLONG flOptions
2929 );
2930
2931 W32KAPI
2932 BOOL
2933 APIENTRY
2934 NtGdiEngStrokeAndFillPath(
2935 IN SURFOBJ *pso,
2936 IN PATHOBJ *ppo,
2937 IN CLIPOBJ *pco,IN XFORMOBJ *pxo,
2938 IN BRUSHOBJ *pboStroke,
2939 IN LINEATTRS *plineattrs,
2940 IN BRUSHOBJ *pboFill,
2941 IN POINTL *pptlBrushOrg,
2942 IN MIX mix,
2943 IN FLONG flOptions
2944 );
2945
2946 W32KAPI
2947 BOOL
2948 APIENTRY
2949 NtGdiEngPaint(
2950 IN SURFOBJ *pso,
2951 IN CLIPOBJ *pco,
2952 IN BRUSHOBJ *pbo,
2953 IN POINTL *pptlBrushOrg,
2954 IN MIX mix
2955 );
2956
2957 W32KAPI
2958 BOOL
2959 APIENTRY
2960 NtGdiEngLineTo(
2961 IN SURFOBJ *pso,
2962 IN CLIPOBJ *pco,
2963 IN BRUSHOBJ *pbo,
2964 _In_ LONG x1,
2965 _In_ LONG y1,
2966 _In_ LONG x2,
2967 _In_ LONG y2,
2968 IN RECTL *prclBounds,
2969 IN MIX mix
2970 );
2971
2972 W32KAPI
2973 BOOL
2974 APIENTRY
2975 NtGdiEngAlphaBlend(
2976 IN SURFOBJ *psoDest,
2977 IN SURFOBJ *psoSrc,
2978 IN CLIPOBJ *pco,
2979 IN XLATEOBJ *pxlo,
2980 IN RECTL *prclDest,
2981 IN RECTL *prclSrc,
2982 IN BLENDOBJ *pBlendObj
2983 );
2984
2985 W32KAPI
2986 BOOL
2987 APIENTRY
2988 NtGdiEngGradientFill(
2989 IN SURFOBJ *psoDest,
2990 IN CLIPOBJ *pco,
2991 IN XLATEOBJ *pxlo,
2992 IN TRIVERTEX *pVertex,
2993 _In_ ULONG nVertex,
2994 IN PVOID pMesh,
2995 _In_ ULONG nMesh,
2996 IN RECTL *prclExtents,
2997 IN POINTL *pptlDitherOrg,
2998 _In_ ULONG ulMode
2999 );
3000
3001 W32KAPI
3002 BOOL
3003 APIENTRY
3004 NtGdiEngTransparentBlt(
3005 IN SURFOBJ *psoDst,
3006 IN SURFOBJ *psoSrc,
3007 IN CLIPOBJ *pco,
3008 IN XLATEOBJ *pxlo,
3009 IN RECTL *prclDst,
3010 IN RECTL *prclSrc,
3011 _In_ ULONG iTransColor,
3012 _In_ ULONG ulReserved
3013 );
3014
3015 W32KAPI
3016 BOOL
3017 APIENTRY
3018 NtGdiEngTextOut(
3019 IN SURFOBJ *pso,
3020 IN STROBJ *pstro,
3021 IN FONTOBJ *pfo,
3022 IN CLIPOBJ *pco,
3023 IN RECTL *prclExtra,
3024 IN RECTL *prclOpaque,
3025 IN BRUSHOBJ *pboFore,
3026 IN BRUSHOBJ *pboOpaque,
3027 IN POINTL *pptlOrg,
3028 IN MIX mix
3029 );
3030
3031 W32KAPI
3032 BOOL
3033 APIENTRY
3034 NtGdiEngStretchBltROP(
3035 IN SURFOBJ *psoTrg,
3036 IN SURFOBJ *psoSrc,
3037 IN SURFOBJ *psoMask,
3038 IN CLIPOBJ *pco,
3039 IN XLATEOBJ *pxlo,
3040 IN COLORADJUSTMENT *pca,
3041 IN POINTL *pptlBrushOrg,
3042 IN RECTL *prclTrg,
3043 IN RECTL *prclSrc,
3044 IN POINTL *pptlMask,
3045 _In_ ULONG iMode,
3046 IN BRUSHOBJ *pbo,
3047 IN ROP4 rop4
3048 );
3049
3050 W32KAPI
3051 ULONG
3052 APIENTRY
3053 NtGdiXLATEOBJ_cGetPalette(
3054 IN XLATEOBJ *pxlo,
3055 _In_ ULONG iPal,
3056 _In_ ULONG cPal,
3057 OUT ULONG *pPal
3058 );
3059
3060 W32KAPI
3061 ULONG
3062 APIENTRY
3063 NtGdiCLIPOBJ_cEnumStart(
3064 IN CLIPOBJ *pco,
3065 _In_ BOOL bAll,
3066 _In_ ULONG iType,
3067 _In_ ULONG iDirection,
3068 _In_ ULONG cLimit
3069 );
3070
3071 W32KAPI
3072 BOOL
3073 APIENTRY
3074 NtGdiCLIPOBJ_bEnum(
3075 IN CLIPOBJ *pco,
3076 _In_ ULONG cj,
3077 OUT ULONG *pul
3078 );
3079
3080 W32KAPI
3081 PATHOBJ*
3082 APIENTRY
3083 NtGdiCLIPOBJ_ppoGetPath(
3084 IN CLIPOBJ *pco
3085 );
3086
3087 W32KAPI
3088 CLIPOBJ*
3089 APIENTRY
3090 NtGdiEngCreateClip(VOID);
3091
3092 W32KAPI
3093 VOID
3094 APIENTRY
3095 NtGdiEngDeleteClip(
3096 IN CLIPOBJ*pco
3097 );
3098
3099 W32KAPI
3100 PVOID
3101 APIENTRY
3102 NtGdiBRUSHOBJ_pvAllocRbrush(
3103 IN BRUSHOBJ *pbo,
3104 _In_ ULONG cj
3105 );
3106
3107 W32KAPI
3108 PVOID
3109 APIENTRY
3110 NtGdiBRUSHOBJ_pvGetRbrush(
3111 IN BRUSHOBJ *pbo
3112 );
3113
3114 W32KAPI
3115 ULONG
3116 APIENTRY
3117 NtGdiBRUSHOBJ_ulGetBrushColor(
3118 IN BRUSHOBJ *pbo
3119 );
3120
3121 W32KAPI
3122 HANDLE
3123 APIENTRY
3124 NtGdiBRUSHOBJ_hGetColorTransform(
3125 IN BRUSHOBJ *pbo
3126 );
3127
3128 W32KAPI
3129 BOOL
3130 APIENTRY
3131 NtGdiXFORMOBJ_bApplyXform(
3132 IN XFORMOBJ *pxo,
3133 _In_ ULONG iMode,
3134 _In_ ULONG cPoints,
3135 IN PVOID pvIn,
3136 OUT PVOID pvOut
3137 );
3138
3139 W32KAPI
3140 ULONG
3141 APIENTRY
3142 NtGdiXFORMOBJ_iGetXform(
3143 IN XFORMOBJ *pxo,
3144 OUT OPTIONAL XFORML *pxform
3145 );
3146
3147 W32KAPI
3148 VOID
3149 APIENTRY
3150 NtGdiFONTOBJ_vGetInfo(
3151 IN FONTOBJ *pfo,
3152 _In_ ULONG cjSize,
3153 OUT FONTINFO *pfi
3154 );
3155
3156 W32KAPI
3157 ULONG
3158 APIENTRY
3159 NtGdiFONTOBJ_cGetGlyphs(
3160 IN FONTOBJ *pfo,
3161 _In_ ULONG iMode,
3162 _In_ ULONG cGlyph,
3163 IN HGLYPH *phg,
3164 OUT PVOID *ppvGlyph
3165 );
3166
3167 W32KAPI
3168 XFORMOBJ*
3169 APIENTRY
3170 NtGdiFONTOBJ_pxoGetXform(
3171 IN FONTOBJ *pfo
3172 );
3173
3174 W32KAPI
3175 IFIMETRICS*
3176 APIENTRY
3177 NtGdiFONTOBJ_pifi(
3178 IN FONTOBJ *pfo
3179 );
3180
3181 W32KAPI
3182 FD_GLYPHSET*
3183 APIENTRY
3184 NtGdiFONTOBJ_pfdg(
3185 IN FONTOBJ *pfo
3186 );
3187
3188 W32KAPI
3189 ULONG
3190 APIENTRY
3191 NtGdiFONTOBJ_cGetAllGlyphHandles(
3192 IN FONTOBJ *pfo,
3193 OUT OPTIONAL HGLYPH *phg
3194 );
3195
3196 W32KAPI
3197 PVOID
3198 APIENTRY
3199 NtGdiFONTOBJ_pvTrueTypeFontFile(
3200 IN FONTOBJ *pfo,
3201 OUT ULONG *pcjFile
3202 );
3203
3204 W32KAPI
3205 PFD_GLYPHATTR
3206 APIENTRY
3207 NtGdiFONTOBJ_pQueryGlyphAttrs(
3208 IN FONTOBJ *pfo,
3209 _In_ ULONG iMode
3210 );
3211
3212 W32KAPI
3213 BOOL
3214 APIENTRY
3215 NtGdiSTROBJ_bEnum(
3216 IN STROBJ *pstro,
3217 OUT ULONG *pc,
3218 OUT PGLYPHPOS *ppgpos
3219 );
3220
3221 W32KAPI
3222 BOOL
3223 APIENTRY
3224 NtGdiSTROBJ_bEnumPositionsOnly(
3225 IN STROBJ *pstro,
3226 OUT ULONG *pc,
3227 OUT PGLYPHPOS *ppgpos
3228 );
3229
3230 W32KAPI
3231 VOID
3232 APIENTRY
3233 NtGdiSTROBJ_vEnumStart(
3234 _Inout_ STROBJ *pstro);
3235
3236 W32KAPI
3237 DWORD
3238 APIENTRY
3239 NtGdiSTROBJ_dwGetCodePage(
3240 IN STROBJ *pstro
3241 );
3242
3243 W32KAPI
3244 BOOL
3245 APIENTRY
3246 NtGdiSTROBJ_bGetAdvanceWidths(
3247 IN STROBJ*pstro,
3248 _In_ ULONG iFirst,
3249 _In_ ULONG c,
3250 OUT POINTQF*pptqD
3251 );
3252
3253 W32KAPI
3254 FD_GLYPHSET*
3255 APIENTRY
3256 NtGdiEngComputeGlyphSet(
3257 _In_ INT nCodePage,
3258 _In_ INT nFirstChar,
3259 _In_ INT cChars
3260 );
3261
3262 W32KAPI
3263 ULONG
3264 APIENTRY
3265 NtGdiXLATEOBJ_iXlate(
3266 IN XLATEOBJ *pxlo,
3267 _In_ ULONG iColor
3268 );
3269
3270 W32KAPI
3271 HANDLE
3272 APIENTRY
3273 NtGdiXLATEOBJ_hGetColorTransform(
3274 IN XLATEOBJ *pxlo
3275 );
3276
3277 W32KAPI
3278 VOID
3279 APIENTRY
3280 NtGdiPATHOBJ_vGetBounds(
3281 IN PATHOBJ *ppo,
3282 OUT PRECTFX prectfx
3283 );
3284
3285 W32KAPI
3286 BOOL
3287 APIENTRY
3288 NtGdiPATHOBJ_bEnum(
3289 IN PATHOBJ *ppo,
3290 OUT PATHDATA *ppd
3291 );
3292
3293 W32KAPI
3294 VOID
3295 APIENTRY
3296 NtGdiPATHOBJ_vEnumStart(
3297 IN PATHOBJ *ppo
3298 );
3299
3300 W32KAPI
3301 VOID
3302 APIENTRY
3303 NtGdiEngDeletePath(
3304 IN PATHOBJ *ppo
3305 );
3306
3307 W32KAPI
3308 VOID
3309 APIENTRY
3310 NtGdiPATHOBJ_vEnumStartClipLines(
3311 IN PATHOBJ *ppo,
3312 IN CLIPOBJ *pco,
3313 IN SURFOBJ *pso,
3314 IN LINEATTRS *pla
3315 );
3316
3317 W32KAPI
3318 BOOL
3319 APIENTRY
3320 NtGdiPATHOBJ_bEnumClipLines(
3321 IN PATHOBJ *ppo,
3322 _In_ ULONG cb,
3323 OUT CLIPLINE *pcl
3324 );
3325
3326 W32KAPI
3327 BOOL
3328 APIENTRY
3329 NtGdiEngCheckAbort(
3330 IN SURFOBJ *pso
3331 );
3332
3333 W32KAPI
3334 DHPDEV
3335 APIENTRY
3336 NtGdiGetDhpdev(
3337 IN HDEV hdev
3338 );
3339
3340 W32KAPI
3341 LONG
3342 APIENTRY
3343 NtGdiHT_Get8BPPFormatPalette(
3344 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
3345 IN USHORT RedGamma,
3346 IN USHORT GreenGamma,
3347 IN USHORT BlueGamma
3348 );
3349
3350 W32KAPI
3351 LONG
3352 APIENTRY
3353 NtGdiHT_Get8BPPMaskPalette(
3354 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
3355 _In_ BOOL Use8BPPMaskPal,
3356 IN BYTE CMYMask,
3357 IN USHORT RedGamma,
3358 IN USHORT GreenGamma,
3359 IN USHORT BlueGamma
3360 );
3361
3362 W32KAPI
3363 BOOL
3364 APIENTRY
3365 NtGdiUpdateTransform(
3366 _In_ HDC hdc
3367 );
3368
3369 W32KAPI
3370 DWORD
3371 APIENTRY
3372 NtGdiSetLayout(
3373 _In_ HDC hdc,
3374 _In_ LONG wox,
3375 _In_ DWORD dwLayout
3376 );
3377
3378 W32KAPI
3379 BOOL
3380 APIENTRY
3381 NtGdiMirrorWindowOrg(
3382 _In_ HDC hdc
3383 );
3384
3385 W32KAPI
3386 LONG
3387 APIENTRY
3388 NtGdiGetDeviceWidth(
3389 _In_ HDC hdc
3390 );
3391
3392 W32KAPI
3393 BOOL
3394 APIENTRY
3395 NtGdiSetPUMPDOBJ(
3396 IN HUMPD humpd,
3397 _In_ BOOL bStoreID,
3398 OUT HUMPD *phumpd,
3399 OUT BOOL *pbWOW64
3400 );
3401
3402 W32KAPI
3403 BOOL
3404 APIENTRY
3405 NtGdiBRUSHOBJ_DeleteRbrush(
3406 IN BRUSHOBJ *pbo,
3407 IN BRUSHOBJ *pboB
3408 );
3409
3410 W32KAPI
3411 BOOL
3412 APIENTRY
3413 NtGdiUMPDEngFreeUserMem(
3414 IN KERNEL_PVOID *ppv
3415 );
3416
3417 W32KAPI
3418 HBITMAP
3419 APIENTRY
3420 NtGdiSetBitmapAttributes(
3421 IN HBITMAP hbm,
3422 _In_ DWORD dwFlags
3423 );
3424
3425 W32KAPI
3426 HBITMAP
3427 APIENTRY
3428 NtGdiClearBitmapAttributes(
3429 IN HBITMAP hbm,
3430 _In_ DWORD dwFlags
3431 );
3432
3433 W32KAPI
3434 HBRUSH
3435 APIENTRY
3436 NtGdiSetBrushAttributes(
3437 _In_ HBRUSH hbm,
3438 _In_ DWORD dwFlags
3439 );
3440
3441 W32KAPI
3442 HBRUSH
3443 APIENTRY
3444 NtGdiClearBrushAttributes(
3445 _In_ HBRUSH hbm,
3446 _In_ DWORD dwFlags
3447 );
3448
3449 W32KAPI
3450 BOOL
3451 APIENTRY
3452 NtGdiDrawStream(
3453 _In_ HDC hdcDst,
3454 _In_ ULONG cjIn,
3455 IN VOID *pvIn
3456 );
3457
3458 W32KAPI
3459 BOOL
3460 APIENTRY
3461 NtGdiMakeObjectXferable(
3462 _In_ HANDLE h,
3463 _In_ DWORD dwProcessId
3464 );
3465
3466 W32KAPI
3467 BOOL
3468 APIENTRY
3469 NtGdiMakeObjectUnXferable(
3470 _In_ HANDLE h
3471 );
3472
3473 W32KAPI
3474 BOOL
3475 APIENTRY
3476 NtGdiInitSpool(VOID);
3477
3478 /* FIXME wrong prototypes fix the build */
3479 W32KAPI
3480 INT
3481 APIENTRY
3482 NtGdiGetSpoolMessage( DWORD u1,
3483 DWORD u2,
3484 DWORD u3,
3485 DWORD u4);
3486 #endif