[CONSRV]
[reactos.git] / 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_reads_bytes_(cjMaxBits) LPBYTE pInitBits,
99 _In_reads_bytes_(cjMaxInfo) 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_reads_z_(cwc) LPWSTR pwszFiles,
112 _In_ ULONG cwc,
113 _In_ ULONG cFiles,
114 _In_ UINT cjBuf,
115 _Out_ LPDWORD pdwBytes,
116 _Out_writes_bytes_(cjBuf) 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 _Success_(return!=FALSE)
2000 W32KAPI
2001 BOOL
2002 APIENTRY
2003 NtGdiGetDCPoint(
2004 _In_ HDC hdc,
2005 _In_ UINT iPoint,
2006 _Out_ PPOINTL pptOut);
2007
2008 W32KAPI
2009 BOOL
2010 APIENTRY
2011 NtGdiScaleViewportExtEx(
2012 _In_ HDC hdc,
2013 _In_ INT xNum,
2014 _In_ INT xDenom,
2015 _In_ INT yNum,
2016 _In_ INT yDenom,
2017 OUT OPTIONAL LPSIZE pszOut
2018 );
2019
2020 W32KAPI
2021 BOOL
2022 APIENTRY
2023 NtGdiScaleWindowExtEx(
2024 _In_ HDC hdc,
2025 _In_ INT xNum,
2026 _In_ INT xDenom,
2027 _In_ INT yNum,
2028 _In_ INT yDenom,
2029 OUT OPTIONAL LPSIZE pszOut
2030 );
2031
2032 W32KAPI
2033 BOOL
2034 APIENTRY
2035 NtGdiSetVirtualResolution(
2036 _In_ HDC hdc,
2037 _In_ INT cxVirtualDevicePixel,
2038 _In_ INT cyVirtualDevicePixel,
2039 _In_ INT cxVirtualDeviceMm,
2040 _In_ INT cyVirtualDeviceMm);
2041
2042 W32KAPI
2043 BOOL
2044 APIENTRY
2045 NtGdiSetSizeDevice(
2046 _In_ HDC hdc,
2047 _In_ INT cxVirtualDevice,
2048 _In_ INT cyVirtualDevice);
2049
2050 _Success_(return !=FALSE)
2051 W32KAPI
2052 BOOL
2053 APIENTRY
2054 NtGdiGetTransform(
2055 _In_ HDC hdc,
2056 _In_ DWORD iXform,
2057 _Out_ LPXFORM pxf);
2058
2059 W32KAPI
2060 BOOL
2061 APIENTRY
2062 NtGdiModifyWorldTransform(
2063 _In_ HDC hdc,
2064 _In_opt_ LPXFORM pxf,
2065 _In_ DWORD iXform);
2066
2067 W32KAPI
2068 BOOL
2069 APIENTRY
2070 NtGdiCombineTransform(
2071 _Out_ LPXFORM pxfDst,
2072 _In_ LPXFORM pxfSrc1,
2073 _In_ LPXFORM pxfSrc2);
2074
2075 W32KAPI
2076 BOOL
2077 APIENTRY
2078 NtGdiTransformPoints(
2079 _In_ HDC hdc,
2080 _In_reads_(c) PPOINT pptIn,
2081 _Out_writes_(c) PPOINT pptOut,
2082 _In_ INT c,
2083 _In_ INT iMode);
2084
2085 W32KAPI
2086 LONG
2087 APIENTRY
2088 NtGdiConvertMetafileRect(
2089 _In_ HDC hdc,
2090 _Inout_ PRECTL prect);
2091
2092 W32KAPI
2093 INT
2094 APIENTRY
2095 NtGdiGetTextCharsetInfo(
2096 _In_ HDC hdc,
2097 OUT OPTIONAL LPFONTSIGNATURE lpSig,
2098 _In_ DWORD dwFlags
2099 );
2100
2101 W32KAPI
2102 BOOL
2103 APIENTRY
2104 NtGdiDoBanding(
2105 _In_ HDC hdc,
2106 _In_ BOOL bStart,
2107 OUT POINTL *pptl,
2108 OUT PSIZE pSize
2109 );
2110
2111 W32KAPI
2112 ULONG
2113 APIENTRY
2114 NtGdiGetPerBandInfo(
2115 _In_ HDC hdc,
2116 IN OUT PERBANDINFO *ppbi
2117 );
2118
2119 W32KAPI
2120 NTSTATUS
2121 APIENTRY
2122 NtGdiGetStats(
2123 _In_ HANDLE hProcess,
2124 _In_ INT iIndex,
2125 _In_ INT iPidType,
2126 OUT PVOID pResults,
2127 _In_ UINT cjResultSize
2128 );
2129
2130 W32KAPI
2131 BOOL
2132 APIENTRY
2133 NtGdiSetMagicColors(
2134 _In_ HDC hdc,
2135 IN PALETTEENTRY peMagic,
2136 _In_ ULONG Index
2137 );
2138
2139 W32KAPI
2140 HBRUSH
2141 APIENTRY
2142 NtGdiSelectBrush(
2143 _In_ HDC hdc,
2144 _In_ HBRUSH hbrush
2145 );
2146
2147 W32KAPI
2148 HPEN
2149 APIENTRY
2150 NtGdiSelectPen(
2151 _In_ HDC hdc,
2152 _In_ HPEN hpen);
2153
2154 W32KAPI
2155 HBITMAP
2156 APIENTRY
2157 NtGdiSelectBitmap(
2158 _In_ HDC hdc,
2159 _In_ HBITMAP hbm);
2160
2161 W32KAPI
2162 HFONT
2163 APIENTRY
2164 NtGdiSelectFont(
2165 _In_ HDC hdc,
2166 _In_ HFONT hf);
2167
2168 W32KAPI
2169 INT
2170 APIENTRY
2171 NtGdiExtSelectClipRgn(
2172 _In_ HDC hdc,
2173 _In_ HRGN hrgn,
2174 _In_ INT iMode);
2175
2176 W32KAPI
2177 HPEN
2178 APIENTRY
2179 NtGdiCreatePen(
2180 _In_ INT iPenStyle,
2181 _In_ INT iPenWidth,
2182 _In_ COLORREF cr,
2183 _In_ HBRUSH hbr);
2184
2185 #ifdef _WINDOWBLT_NOTIFICATION_
2186 W32KAPI
2187 BOOL
2188 APIENTRY
2189 NtGdiBitBlt(
2190 _In_ HDC hdcDst,
2191 _In_ INT x,
2192 _In_ INT y,
2193 _In_ INT cx,
2194 _In_ INT cy,
2195 _In_ HDC hdcSrc,
2196 _In_ INT xSrc,
2197 _In_ INT ySrc,
2198 _In_ DWORD rop4,
2199 _In_ DWORD crBackColor,
2200 _In_ FLONG fl);
2201 #else
2202 W32KAPI
2203 BOOL
2204 APIENTRY
2205 NtGdiBitBlt(
2206 _In_ HDC hdcDst,
2207 _In_ INT x,
2208 _In_ INT y,
2209 _In_ INT cx,
2210 _In_ INT cy,
2211 _In_ HDC hdcSrc,
2212 _In_ INT xSrc,
2213 _In_ INT ySrc,
2214 _In_ DWORD rop4,
2215 _In_ DWORD crBackColor);
2216 #endif
2217
2218 W32KAPI
2219 BOOL
2220 APIENTRY
2221 NtGdiTileBitBlt(
2222 _In_ HDC hdcDst,
2223 _In_ RECTL *prectDst,
2224 _In_ HDC hdcSrc,
2225 _In_ RECTL *prectSrc,
2226 _In_ POINTL *pptlOrigin,
2227 _In_ DWORD rop4,
2228 _In_ DWORD crBackColor);
2229
2230 W32KAPI
2231 BOOL
2232 APIENTRY
2233 NtGdiTransparentBlt(
2234 _In_ HDC hdcDst,
2235 _In_ INT xDst,
2236 _In_ INT yDst,
2237 _In_ INT cxDst,
2238 _In_ INT cyDst,
2239 _In_ HDC hdcSrc,
2240 _In_ INT xSrc,
2241 _In_ INT ySrc,
2242 _In_ INT cxSrc,
2243 _In_ INT cySrc,
2244 _In_ COLORREF TransColor);
2245
2246 W32KAPI
2247 BOOL
2248 APIENTRY
2249 NtGdiGetTextExtent(
2250 _In_ HDC hdc,
2251 _In_z_count_(cwc) LPWSTR lpwsz,
2252 _In_ INT cwc,
2253 _Out_ LPSIZE psize,
2254 _In_ UINT flOpts);
2255
2256 W32KAPI
2257 BOOL
2258 APIENTRY
2259 NtGdiGetTextMetricsW(
2260 _In_ HDC hdc,
2261 _Out_bytecap_(cj) TMW_INTERNAL * ptm,
2262 _In_ ULONG cj);
2263
2264 W32KAPI
2265 INT
2266 APIENTRY
2267 NtGdiGetTextFaceW(
2268 _In_ HDC hdc,
2269 _In_ INT cChar,
2270 OUT OPTIONAL LPWSTR pszOut,
2271 _In_ BOOL bAliasName
2272 );
2273
2274 W32KAPI
2275 INT
2276 APIENTRY
2277 NtGdiGetRandomRgn(
2278 _In_ HDC hdc,
2279 _In_ HRGN hrgn,
2280 _In_ INT iRgn);
2281
2282 W32KAPI
2283 BOOL
2284 APIENTRY
2285 NtGdiExtTextOutW(
2286 _In_ HDC hdc,
2287 _In_ INT x,
2288 _In_ INT y,
2289 _In_ UINT flOpts,
2290 IN OPTIONAL LPRECT prcl,
2291 _In_z_count_(cwc) LPWSTR pwsz,
2292 _In_ INT cwc,
2293 IN OPTIONAL LPINT pdx,
2294 _In_ DWORD dwCodePage
2295 );
2296
2297 W32KAPI
2298 INT
2299 APIENTRY
2300 NtGdiIntersectClipRect(
2301 _In_ HDC hdc,
2302 _In_ INT xLeft,
2303 _In_ INT yTop,
2304 _In_ INT xRight,
2305 _In_ INT yBottom);
2306
2307 W32KAPI
2308 HRGN
2309 APIENTRY
2310 NtGdiCreateRectRgn(
2311 _In_ INT xLeft,
2312 _In_ INT yTop,
2313 _In_ INT xRight,
2314 _In_ INT yBottom);
2315
2316 W32KAPI
2317 BOOL
2318 APIENTRY
2319 NtGdiPatBlt(
2320 _In_ HDC hdcDest,
2321 _In_ INT x,
2322 _In_ INT y,
2323 _In_ INT cx,
2324 _In_ INT cy,
2325 _In_ DWORD dwRop);
2326
2327 W32KAPI
2328 BOOL
2329 APIENTRY
2330 NtGdiPolyPatBlt(
2331 _In_ HDC hdc,
2332 _In_ DWORD rop4,
2333 _In_ PPOLYPATBLT pPoly,
2334 _In_ DWORD Count,
2335 _In_ DWORD Mode);
2336
2337 W32KAPI
2338 BOOL
2339 APIENTRY
2340 NtGdiUnrealizeObject(
2341 _In_ HANDLE h);
2342
2343 W32KAPI
2344 HANDLE
2345 APIENTRY
2346 NtGdiGetStockObject(
2347 _In_ INT iObject);
2348
2349 W32KAPI
2350 HBITMAP
2351 APIENTRY
2352 NtGdiCreateCompatibleBitmap(
2353 _In_ HDC hdc,
2354 _In_ INT cx,
2355 _In_ INT cy);
2356
2357 W32KAPI
2358 BOOL
2359 APIENTRY
2360 NtGdiLineTo(
2361 _In_ HDC hdc,
2362 _In_ INT x,
2363 _In_ INT y);
2364
2365 _Success_(return != FALSE)
2366 W32KAPI
2367 BOOL
2368 APIENTRY
2369 NtGdiMoveTo(
2370 _In_ HDC hdc,
2371 _In_ INT x,
2372 _In_ INT y,
2373 _Out_opt_ LPPOINT pptOut);
2374
2375 W32KAPI
2376 INT
2377 APIENTRY
2378 NtGdiExtGetObjectW(
2379 _In_ HANDLE h,
2380 _In_ INT cj,
2381 _Out_opt_bytecap_(cj) LPVOID pvOut);
2382
2383 W32KAPI
2384 INT
2385 APIENTRY
2386 NtGdiGetDeviceCaps(
2387 _In_ HDC hdc,
2388 _In_ INT i);
2389
2390 _Success_(return!=FALSE)
2391 W32KAPI
2392 BOOL
2393 APIENTRY
2394 NtGdiGetDeviceCapsAll (
2395 _In_ HDC hdc,
2396 _Out_ PDEVCAPS pDevCaps);
2397
2398 W32KAPI
2399 BOOL
2400 APIENTRY
2401 NtGdiStretchBlt(
2402 _In_ HDC hdcDst,
2403 _In_ INT xDst,
2404 _In_ INT yDst,
2405 _In_ INT cxDst,
2406 _In_ INT cyDst,
2407 _In_ HDC hdcSrc,
2408 _In_ INT xSrc,
2409 _In_ INT ySrc,
2410 _In_ INT cxSrc,
2411 _In_ INT cySrc,
2412 _In_ DWORD dwRop,
2413 _In_ DWORD dwBackColor);
2414
2415 _Success_(return != FALSE)
2416 W32KAPI
2417 BOOL
2418 APIENTRY
2419 NtGdiSetBrushOrg(
2420 _In_ HDC hdc,
2421 _In_ INT x,
2422 _In_ INT y,
2423 _Out_opt_ LPPOINT pptOut);
2424
2425 W32KAPI
2426 HBITMAP
2427 APIENTRY
2428 NtGdiCreateBitmap(
2429 _In_ INT cx,
2430 _In_ INT cy,
2431 _In_ UINT cPlanes,
2432 _In_ UINT cBPP,
2433 _In_opt_ LPBYTE pjInit);
2434
2435 W32KAPI
2436 HPALETTE
2437 APIENTRY
2438 NtGdiCreateHalftonePalette(
2439 _In_ HDC hdc);
2440
2441 W32KAPI
2442 BOOL
2443 APIENTRY
2444 NtGdiRestoreDC(
2445 _In_ HDC hdc,
2446 _In_ INT iLevel);
2447
2448 W32KAPI
2449 INT
2450 APIENTRY
2451 NtGdiExcludeClipRect(
2452 _In_ HDC hdc,
2453 _In_ INT xLeft,
2454 _In_ INT yTop,
2455 _In_ INT xRight,
2456 _In_ INT yBottom);
2457
2458 W32KAPI
2459 INT
2460 APIENTRY
2461 NtGdiSaveDC(
2462 _In_ HDC hdc);
2463
2464 W32KAPI
2465 INT
2466 APIENTRY
2467 NtGdiCombineRgn(
2468 _In_ HRGN hrgnDst,
2469 _In_ HRGN hrgnSrc1,
2470 _In_opt_ HRGN hrgnSrc2,
2471 _In_ INT iMode);
2472
2473 W32KAPI
2474 BOOL
2475 APIENTRY
2476 NtGdiSetRectRgn(
2477 _In_ HRGN hrgn,
2478 _In_ INT xLeft,
2479 _In_ INT yTop,
2480 _In_ INT xRight,
2481 _In_ INT yBottom);
2482
2483 W32KAPI
2484 LONG
2485 APIENTRY
2486 NtGdiSetBitmapBits(
2487 _In_ HBITMAP hbm,
2488 _In_ ULONG cj,
2489 _In_bytecount_(cj) PBYTE pjInit);
2490
2491 W32KAPI
2492 INT
2493 APIENTRY
2494 NtGdiGetDIBitsInternal(
2495 _In_ HDC hdc,
2496 _In_ HBITMAP hbm,
2497 _In_ UINT iStartScan,
2498 _In_ UINT cScans,
2499 _Out_opt_ LPBYTE pBits,
2500 _Inout_ LPBITMAPINFO pbmi,
2501 _In_ UINT iUsage,
2502 _In_ UINT cjMaxBits,
2503 _In_ UINT cjMaxInfo);
2504
2505 W32KAPI
2506 INT
2507 APIENTRY
2508 NtGdiOffsetRgn(
2509 _In_ HRGN hrgn,
2510 _In_ INT cx,
2511 _In_ INT cy);
2512
2513 _Success_(return!=ERROR)
2514 W32KAPI
2515 INT
2516 APIENTRY
2517 NtGdiGetRgnBox(
2518 _In_ HRGN hrgn,
2519 _Out_ LPRECT prcOut);
2520
2521 W32KAPI
2522 BOOL
2523 APIENTRY
2524 NtGdiRectInRegion(
2525 _In_ HRGN hrgn,
2526 IN OUT LPRECT prcl
2527 );
2528
2529 _Success_(return!=0)
2530 W32KAPI
2531 DWORD
2532 APIENTRY
2533 NtGdiGetBoundsRect(
2534 _In_ HDC hdc,
2535 _Out_ LPRECT prc,
2536 _In_ DWORD f);
2537
2538 W32KAPI
2539 BOOL
2540 APIENTRY
2541 NtGdiPtInRegion(
2542 _In_ HRGN hrgn,
2543 _In_ INT x,
2544 _In_ INT y);
2545
2546 W32KAPI
2547 COLORREF
2548 APIENTRY
2549 NtGdiGetNearestColor(
2550 _In_ HDC hdc,
2551 _In_ COLORREF cr);
2552
2553 W32KAPI
2554 UINT
2555 APIENTRY
2556 NtGdiGetSystemPaletteUse(
2557 _In_ HDC hdc);
2558
2559 W32KAPI
2560 UINT
2561 APIENTRY
2562 NtGdiSetSystemPaletteUse(
2563 _In_ HDC hdc,
2564 _In_ UINT ui);
2565
2566 _Success_(return!=0)
2567 W32KAPI
2568 ULONG
2569 APIENTRY
2570 NtGdiGetRegionData(
2571 _In_ HRGN hrgn,
2572 _In_ ULONG cjBuffer,
2573 _Out_opt_bytecap_(cjBuffer) LPRGNDATA lpRgnData);
2574
2575 W32KAPI
2576 BOOL
2577 APIENTRY
2578 NtGdiInvertRgn(
2579 _In_ HDC hdc,
2580 _In_ HRGN hrgn);
2581
2582 INT
2583 W32KAPI
2584 APIENTRY
2585 NtGdiAddFontResourceW(
2586 _In_z_count_(cwc) WCHAR *pwszFiles,
2587 _In_ ULONG cwc,
2588 _In_ ULONG cFiles,
2589 _In_ FLONG f,
2590 _In_ DWORD dwPidTid,
2591 _In_opt_ DESIGNVECTOR *pdv);
2592
2593 #if (_WIN32_WINNT >= 0x0500)
2594 W32KAPI
2595 HFONT
2596 APIENTRY
2597 NtGdiHfontCreate(
2598 _In_bytecount_(cjElfw) ENUMLOGFONTEXDVW *pelfw,
2599 _In_ ULONG cjElfw,
2600 _In_ LFTYPE lft,
2601 _In_ FLONG fl,
2602 _In_ PVOID pvCliData);
2603 #else
2604 W32KAPI
2605 HFONT
2606 APIENTRY
2607 NtGdiHfontCreate(
2608 _In_bytecount_(cjElfw) LPEXTLOGFONTW pelfw,
2609 _In_ ULONG cjElfw,
2610 _In_ LFTYPE lft,
2611 _In_ FLONG fl,
2612 _In_ PVOID pvCliData
2613 );
2614 #endif
2615
2616 W32KAPI
2617 ULONG
2618 APIENTRY
2619 NtGdiSetFontEnumeration(
2620 _In_ ULONG ulType);
2621
2622 W32KAPI
2623 BOOL
2624 APIENTRY
2625 NtGdiEnumFontClose(
2626 _In_ ULONG_PTR idEnum);
2627
2628 #if (_WIN32_WINNT >= 0x0500)
2629 W32KAPI
2630 BOOL
2631 APIENTRY
2632 NtGdiEnumFontChunk(
2633 _In_ HDC hdc,
2634 _In_ ULONG_PTR idEnum,
2635 _In_ ULONG cjEfdw,
2636 OUT ULONG *pcjEfdw,
2637 OUT PENUMFONTDATAW pefdw
2638 );
2639 #endif
2640
2641 W32KAPI
2642 ULONG_PTR
2643 APIENTRY
2644 NtGdiEnumFontOpen(
2645 _In_ HDC hdc,
2646 _In_ ULONG iEnumType,
2647 _In_ FLONG flWin31Compat,
2648 _In_ ULONG cwchMax,
2649 IN OPTIONAL LPWSTR pwszFaceName,
2650 _In_ ULONG lfCharSet,
2651 OUT ULONG *pulCount
2652 );
2653
2654 W32KAPI
2655 INT
2656 APIENTRY
2657 NtGdiQueryFonts(
2658 OUT PUNIVERSAL_FONT_ID pufiFontList,
2659 _In_ ULONG nBufferSize,
2660 OUT PLARGE_INTEGER pTimeStamp
2661 );
2662
2663 W32KAPI
2664 BOOL
2665 APIENTRY
2666 NtGdiConsoleTextOut(
2667 _In_ HDC hdc,
2668 _In_ POLYTEXTW *lpto,
2669 _In_ UINT nStrings,
2670 _In_ RECTL *prclBounds);
2671
2672 W32KAPI
2673 NTSTATUS
2674 APIENTRY
2675 NtGdiFullscreenControl(
2676 IN FULLSCREENCONTROL FullscreenCommand,
2677 IN PVOID FullscreenInput,
2678 _In_ DWORD FullscreenInputLength,
2679 OUT PVOID FullscreenOutput,
2680 IN OUT PULONG FullscreenOutputLength
2681 );
2682
2683 W32KAPI
2684 DWORD
2685 APIENTRY
2686 NtGdiGetCharSet(
2687 _In_ HDC hdc);
2688
2689 W32KAPI
2690 BOOL
2691 APIENTRY
2692 NtGdiEnableEudc(
2693 _In_ BOOL b);
2694
2695 W32KAPI
2696 BOOL
2697 APIENTRY
2698 NtGdiEudcLoadUnloadLink(
2699 IN OPTIONAL LPCWSTR pBaseFaceName,
2700 _In_ UINT cwcBaseFaceName,
2701 IN LPCWSTR pEudcFontPath,
2702 _In_ UINT cwcEudcFontPath,
2703 _In_ INT iPriority,
2704 _In_ INT iFontLinkType,
2705 _In_ BOOL bLoadLin
2706 );
2707
2708 W32KAPI
2709 UINT
2710 APIENTRY
2711 NtGdiGetStringBitmapW(
2712 _In_ HDC hdc,
2713 IN LPWSTR pwsz,
2714 _In_ UINT cwc,
2715 OUT BYTE *lpSB,
2716 _In_ UINT cj
2717 );
2718
2719 W32KAPI
2720 ULONG
2721 APIENTRY
2722 NtGdiGetEudcTimeStampEx(
2723 _In_opt_z_count_(cwcBaseFaceName) LPWSTR lpBaseFaceName,
2724 _In_ ULONG cwcBaseFaceName,
2725 _In_ BOOL bSystemTimeStamp);
2726
2727 W32KAPI
2728 ULONG
2729 APIENTRY
2730 NtGdiQueryFontAssocInfo(
2731 _In_ HDC hdc);
2732
2733 #if (_WIN32_WINNT >= 0x0500)
2734 W32KAPI
2735 DWORD
2736 APIENTRY
2737 NtGdiGetFontUnicodeRanges(
2738 _In_ HDC hdc,
2739 _Out_opt_ LPGLYPHSET pgs);
2740 #endif
2741
2742 #ifdef LANGPACK
2743 W32KAPI
2744 BOOL
2745 APIENTRY
2746 NtGdiGetRealizationInfo(
2747 _In_ HDC hdc,
2748 _Out_ PREALIZATION_INFO pri,
2749 _In_ HFONT hf);
2750 #endif
2751
2752 W32KAPI
2753 BOOL
2754 APIENTRY
2755 NtGdiAddRemoteMMInstanceToDC(
2756 _In_ HDC hdc,
2757 _In_ DOWNLOADDESIGNVECTOR *pddv,
2758 _In_ ULONG cjDDV);
2759
2760 W32KAPI
2761 BOOL
2762 APIENTRY
2763 NtGdiUnloadPrinterDriver(
2764 _In_z_bytecount_(cbDriverName) LPWSTR pDriverName,
2765 _In_ ULONG cbDriverName);
2766
2767 W32KAPI
2768 BOOL
2769 APIENTRY
2770 NtGdiEngAssociateSurface(
2771 _In_ HSURF hsurf,
2772 _In_ HDEV hdev,
2773 _In_ FLONG flHooks);
2774
2775 W32KAPI
2776 BOOL
2777 APIENTRY
2778 NtGdiEngEraseSurface(
2779 _In_ SURFOBJ *pso,
2780 _In_ RECTL *prcl,
2781 _In_ ULONG iColor);
2782
2783 W32KAPI
2784 HBITMAP
2785 APIENTRY
2786 NtGdiEngCreateBitmap(
2787 _In_ SIZEL sizl,
2788 _In_ LONG lWidth,
2789 _In_ ULONG iFormat,
2790 _In_ FLONG fl,
2791 _In_opt_ PVOID pvBits);
2792
2793 W32KAPI
2794 BOOL
2795 APIENTRY
2796 NtGdiEngDeleteSurface(
2797 _In_ HSURF hsurf);
2798
2799 W32KAPI
2800 SURFOBJ*
2801 APIENTRY
2802 NtGdiEngLockSurface(
2803 _In_ HSURF hsurf);
2804
2805 W32KAPI
2806 VOID
2807 APIENTRY
2808 NtGdiEngUnlockSurface(
2809 _In_ SURFOBJ *pso);
2810
2811 W32KAPI
2812 BOOL
2813 APIENTRY
2814 NtGdiEngMarkBandingSurface(
2815 _In_ HSURF hsurf);
2816
2817 W32KAPI
2818 HSURF
2819 APIENTRY
2820 NtGdiEngCreateDeviceSurface(
2821 _In_ DHSURF dhsurf,
2822 _In_ SIZEL sizl,
2823 _In_ ULONG iFormatCompat);
2824
2825 W32KAPI
2826 HBITMAP
2827 APIENTRY
2828 NtGdiEngCreateDeviceBitmap(
2829 _In_ DHSURF dhsurf,
2830 _In_ SIZEL sizl,
2831 _In_ ULONG iFormatCompat);
2832
2833 W32KAPI
2834 BOOL
2835 APIENTRY
2836 NtGdiEngCopyBits(
2837 _In_ SURFOBJ *psoDst,
2838 _In_ SURFOBJ *psoSrc,
2839 _In_opt_ CLIPOBJ *pco,
2840 _In_opt_ XLATEOBJ *pxlo,
2841 _In_ RECTL *prclDst,
2842 _In_ POINTL *pptlSrc);
2843
2844 W32KAPI
2845 BOOL
2846 APIENTRY
2847 NtGdiEngStretchBlt(
2848 _In_ SURFOBJ *psoDest,
2849 _In_ SURFOBJ *psoSrc,
2850 _In_opt_ SURFOBJ *psoMask,
2851 _In_opt_ CLIPOBJ *pco,
2852 _In_opt_ XLATEOBJ *pxlo,
2853 _In_opt_ COLORADJUSTMENT *pca,
2854 _In_ POINTL *pptlHTOrg,
2855 _In_ RECTL *prclDest,
2856 _In_ RECTL *prclSrc,
2857 _When_(psoMask, _In_) POINTL *pptlMask,
2858 _In_ ULONG iMode);
2859
2860 W32KAPI
2861 BOOL
2862 APIENTRY
2863 NtGdiEngBitBlt(
2864 _In_ SURFOBJ *psoTrg,
2865 _In_opt_ SURFOBJ *psoSrc,
2866 _In_opt_ SURFOBJ *psoMask,
2867 _In_opt_ CLIPOBJ *pco,
2868 _In_opt_ XLATEOBJ *pxlo,
2869 _In_ RECTL *prclTrg,
2870 _When_(psoSrc, _In_) POINTL *pptlSrc,
2871 _When_(psoMask, _In_) POINTL *pptlMask,
2872 _In_opt_ BRUSHOBJ *pbo,
2873 _When_(pbo, _In_) POINTL *pptlBrush,
2874 _In_ ROP4 rop4);
2875
2876 W32KAPI
2877 BOOL
2878 APIENTRY
2879 NtGdiEngPlgBlt(
2880 _In_ SURFOBJ *psoTrg,
2881 _In_ SURFOBJ *psoSrc,
2882 _In_opt_ SURFOBJ *psoMsk,
2883 _In_ CLIPOBJ *pco,
2884 _In_opt_ XLATEOBJ *pxlo,
2885 _In_ COLORADJUSTMENT *pca,
2886 _In_ POINTL *pptlBrushOrg,
2887 _In_ POINTFIX *pptfx,
2888 _In_ RECTL *prcl,
2889 _When_(psoMsk, _In_) POINTL *pptl,
2890 _In_ ULONG iMode);
2891
2892 W32KAPI
2893 HPALETTE
2894 APIENTRY
2895 NtGdiEngCreatePalette(
2896 _In_ ULONG iMode,
2897 _In_ ULONG cColors,
2898 _In_ ULONG *pulColors,
2899 _In_ FLONG flRed,
2900 _In_ FLONG flGreen,
2901 _In_ FLONG flBlue);
2902
2903 W32KAPI
2904 BOOL
2905 APIENTRY
2906 NtGdiEngDeletePalette(
2907 _In_ HPALETTE hPal);
2908
2909 W32KAPI
2910 BOOL
2911 APIENTRY
2912 NtGdiEngStrokePath(
2913 IN SURFOBJ *pso,
2914 IN PATHOBJ *ppo,
2915 IN CLIPOBJ *pco,
2916 IN XFORMOBJ *pxo,
2917 IN BRUSHOBJ *pbo,
2918 IN POINTL *pptlBrushOrg,
2919 IN LINEATTRS *plineattrs,
2920 IN MIX mix
2921 );
2922
2923 W32KAPI
2924 BOOL
2925 APIENTRY
2926 NtGdiEngFillPath(
2927 IN SURFOBJ *pso,
2928 IN PATHOBJ *ppo,
2929 IN CLIPOBJ *pco,
2930 IN BRUSHOBJ *pbo,
2931 IN POINTL *pptlBrushOrg,
2932 IN MIX mix,
2933 IN FLONG flOptions
2934 );
2935
2936 W32KAPI
2937 BOOL
2938 APIENTRY
2939 NtGdiEngStrokeAndFillPath(
2940 IN SURFOBJ *pso,
2941 IN PATHOBJ *ppo,
2942 IN CLIPOBJ *pco,IN XFORMOBJ *pxo,
2943 IN BRUSHOBJ *pboStroke,
2944 IN LINEATTRS *plineattrs,
2945 IN BRUSHOBJ *pboFill,
2946 IN POINTL *pptlBrushOrg,
2947 IN MIX mix,
2948 IN FLONG flOptions
2949 );
2950
2951 W32KAPI
2952 BOOL
2953 APIENTRY
2954 NtGdiEngPaint(
2955 IN SURFOBJ *pso,
2956 IN CLIPOBJ *pco,
2957 IN BRUSHOBJ *pbo,
2958 IN POINTL *pptlBrushOrg,
2959 IN MIX mix
2960 );
2961
2962 W32KAPI
2963 BOOL
2964 APIENTRY
2965 NtGdiEngLineTo(
2966 IN SURFOBJ *pso,
2967 IN CLIPOBJ *pco,
2968 IN BRUSHOBJ *pbo,
2969 _In_ LONG x1,
2970 _In_ LONG y1,
2971 _In_ LONG x2,
2972 _In_ LONG y2,
2973 IN RECTL *prclBounds,
2974 IN MIX mix
2975 );
2976
2977 W32KAPI
2978 BOOL
2979 APIENTRY
2980 NtGdiEngAlphaBlend(
2981 IN SURFOBJ *psoDest,
2982 IN SURFOBJ *psoSrc,
2983 IN CLIPOBJ *pco,
2984 IN XLATEOBJ *pxlo,
2985 IN RECTL *prclDest,
2986 IN RECTL *prclSrc,
2987 IN BLENDOBJ *pBlendObj
2988 );
2989
2990 W32KAPI
2991 BOOL
2992 APIENTRY
2993 NtGdiEngGradientFill(
2994 IN SURFOBJ *psoDest,
2995 IN CLIPOBJ *pco,
2996 IN XLATEOBJ *pxlo,
2997 IN TRIVERTEX *pVertex,
2998 _In_ ULONG nVertex,
2999 IN PVOID pMesh,
3000 _In_ ULONG nMesh,
3001 IN RECTL *prclExtents,
3002 IN POINTL *pptlDitherOrg,
3003 _In_ ULONG ulMode
3004 );
3005
3006 W32KAPI
3007 BOOL
3008 APIENTRY
3009 NtGdiEngTransparentBlt(
3010 IN SURFOBJ *psoDst,
3011 IN SURFOBJ *psoSrc,
3012 IN CLIPOBJ *pco,
3013 IN XLATEOBJ *pxlo,
3014 IN RECTL *prclDst,
3015 IN RECTL *prclSrc,
3016 _In_ ULONG iTransColor,
3017 _In_ ULONG ulReserved
3018 );
3019
3020 W32KAPI
3021 BOOL
3022 APIENTRY
3023 NtGdiEngTextOut(
3024 IN SURFOBJ *pso,
3025 IN STROBJ *pstro,
3026 IN FONTOBJ *pfo,
3027 IN CLIPOBJ *pco,
3028 IN RECTL *prclExtra,
3029 IN RECTL *prclOpaque,
3030 IN BRUSHOBJ *pboFore,
3031 IN BRUSHOBJ *pboOpaque,
3032 IN POINTL *pptlOrg,
3033 IN MIX mix
3034 );
3035
3036 W32KAPI
3037 BOOL
3038 APIENTRY
3039 NtGdiEngStretchBltROP(
3040 IN SURFOBJ *psoTrg,
3041 IN SURFOBJ *psoSrc,
3042 IN SURFOBJ *psoMask,
3043 IN CLIPOBJ *pco,
3044 IN XLATEOBJ *pxlo,
3045 IN COLORADJUSTMENT *pca,
3046 IN POINTL *pptlBrushOrg,
3047 IN RECTL *prclTrg,
3048 IN RECTL *prclSrc,
3049 IN POINTL *pptlMask,
3050 _In_ ULONG iMode,
3051 IN BRUSHOBJ *pbo,
3052 IN ROP4 rop4
3053 );
3054
3055 W32KAPI
3056 ULONG
3057 APIENTRY
3058 NtGdiXLATEOBJ_cGetPalette(
3059 IN XLATEOBJ *pxlo,
3060 _In_ ULONG iPal,
3061 _In_ ULONG cPal,
3062 OUT ULONG *pPal
3063 );
3064
3065 W32KAPI
3066 ULONG
3067 APIENTRY
3068 NtGdiCLIPOBJ_cEnumStart(
3069 IN CLIPOBJ *pco,
3070 _In_ BOOL bAll,
3071 _In_ ULONG iType,
3072 _In_ ULONG iDirection,
3073 _In_ ULONG cLimit
3074 );
3075
3076 W32KAPI
3077 BOOL
3078 APIENTRY
3079 NtGdiCLIPOBJ_bEnum(
3080 IN CLIPOBJ *pco,
3081 _In_ ULONG cj,
3082 OUT ULONG *pul
3083 );
3084
3085 W32KAPI
3086 PATHOBJ*
3087 APIENTRY
3088 NtGdiCLIPOBJ_ppoGetPath(
3089 IN CLIPOBJ *pco
3090 );
3091
3092 W32KAPI
3093 CLIPOBJ*
3094 APIENTRY
3095 NtGdiEngCreateClip(VOID);
3096
3097 W32KAPI
3098 VOID
3099 APIENTRY
3100 NtGdiEngDeleteClip(
3101 IN CLIPOBJ*pco
3102 );
3103
3104 W32KAPI
3105 PVOID
3106 APIENTRY
3107 NtGdiBRUSHOBJ_pvAllocRbrush(
3108 IN BRUSHOBJ *pbo,
3109 _In_ ULONG cj
3110 );
3111
3112 W32KAPI
3113 PVOID
3114 APIENTRY
3115 NtGdiBRUSHOBJ_pvGetRbrush(
3116 IN BRUSHOBJ *pbo
3117 );
3118
3119 W32KAPI
3120 ULONG
3121 APIENTRY
3122 NtGdiBRUSHOBJ_ulGetBrushColor(
3123 IN BRUSHOBJ *pbo
3124 );
3125
3126 W32KAPI
3127 HANDLE
3128 APIENTRY
3129 NtGdiBRUSHOBJ_hGetColorTransform(
3130 IN BRUSHOBJ *pbo
3131 );
3132
3133 W32KAPI
3134 BOOL
3135 APIENTRY
3136 NtGdiXFORMOBJ_bApplyXform(
3137 IN XFORMOBJ *pxo,
3138 _In_ ULONG iMode,
3139 _In_ ULONG cPoints,
3140 IN PVOID pvIn,
3141 OUT PVOID pvOut
3142 );
3143
3144 W32KAPI
3145 ULONG
3146 APIENTRY
3147 NtGdiXFORMOBJ_iGetXform(
3148 IN XFORMOBJ *pxo,
3149 OUT OPTIONAL XFORML *pxform
3150 );
3151
3152 W32KAPI
3153 VOID
3154 APIENTRY
3155 NtGdiFONTOBJ_vGetInfo(
3156 IN FONTOBJ *pfo,
3157 _In_ ULONG cjSize,
3158 OUT FONTINFO *pfi
3159 );
3160
3161 W32KAPI
3162 ULONG
3163 APIENTRY
3164 NtGdiFONTOBJ_cGetGlyphs(
3165 IN FONTOBJ *pfo,
3166 _In_ ULONG iMode,
3167 _In_ ULONG cGlyph,
3168 IN HGLYPH *phg,
3169 OUT PVOID *ppvGlyph
3170 );
3171
3172 W32KAPI
3173 XFORMOBJ*
3174 APIENTRY
3175 NtGdiFONTOBJ_pxoGetXform(
3176 IN FONTOBJ *pfo
3177 );
3178
3179 W32KAPI
3180 IFIMETRICS*
3181 APIENTRY
3182 NtGdiFONTOBJ_pifi(
3183 IN FONTOBJ *pfo
3184 );
3185
3186 W32KAPI
3187 FD_GLYPHSET*
3188 APIENTRY
3189 NtGdiFONTOBJ_pfdg(
3190 IN FONTOBJ *pfo
3191 );
3192
3193 W32KAPI
3194 ULONG
3195 APIENTRY
3196 NtGdiFONTOBJ_cGetAllGlyphHandles(
3197 IN FONTOBJ *pfo,
3198 OUT OPTIONAL HGLYPH *phg
3199 );
3200
3201 W32KAPI
3202 PVOID
3203 APIENTRY
3204 NtGdiFONTOBJ_pvTrueTypeFontFile(
3205 IN FONTOBJ *pfo,
3206 OUT ULONG *pcjFile
3207 );
3208
3209 W32KAPI
3210 PFD_GLYPHATTR
3211 APIENTRY
3212 NtGdiFONTOBJ_pQueryGlyphAttrs(
3213 IN FONTOBJ *pfo,
3214 _In_ ULONG iMode
3215 );
3216
3217 W32KAPI
3218 BOOL
3219 APIENTRY
3220 NtGdiSTROBJ_bEnum(
3221 IN STROBJ *pstro,
3222 OUT ULONG *pc,
3223 OUT PGLYPHPOS *ppgpos
3224 );
3225
3226 W32KAPI
3227 BOOL
3228 APIENTRY
3229 NtGdiSTROBJ_bEnumPositionsOnly(
3230 IN STROBJ *pstro,
3231 OUT ULONG *pc,
3232 OUT PGLYPHPOS *ppgpos
3233 );
3234
3235 W32KAPI
3236 VOID
3237 APIENTRY
3238 NtGdiSTROBJ_vEnumStart(
3239 _Inout_ STROBJ *pstro);
3240
3241 W32KAPI
3242 DWORD
3243 APIENTRY
3244 NtGdiSTROBJ_dwGetCodePage(
3245 IN STROBJ *pstro
3246 );
3247
3248 W32KAPI
3249 BOOL
3250 APIENTRY
3251 NtGdiSTROBJ_bGetAdvanceWidths(
3252 IN STROBJ*pstro,
3253 _In_ ULONG iFirst,
3254 _In_ ULONG c,
3255 OUT POINTQF*pptqD
3256 );
3257
3258 W32KAPI
3259 FD_GLYPHSET*
3260 APIENTRY
3261 NtGdiEngComputeGlyphSet(
3262 _In_ INT nCodePage,
3263 _In_ INT nFirstChar,
3264 _In_ INT cChars
3265 );
3266
3267 W32KAPI
3268 ULONG
3269 APIENTRY
3270 NtGdiXLATEOBJ_iXlate(
3271 IN XLATEOBJ *pxlo,
3272 _In_ ULONG iColor
3273 );
3274
3275 W32KAPI
3276 HANDLE
3277 APIENTRY
3278 NtGdiXLATEOBJ_hGetColorTransform(
3279 IN XLATEOBJ *pxlo
3280 );
3281
3282 W32KAPI
3283 VOID
3284 APIENTRY
3285 NtGdiPATHOBJ_vGetBounds(
3286 IN PATHOBJ *ppo,
3287 OUT PRECTFX prectfx
3288 );
3289
3290 W32KAPI
3291 BOOL
3292 APIENTRY
3293 NtGdiPATHOBJ_bEnum(
3294 IN PATHOBJ *ppo,
3295 OUT PATHDATA *ppd
3296 );
3297
3298 W32KAPI
3299 VOID
3300 APIENTRY
3301 NtGdiPATHOBJ_vEnumStart(
3302 IN PATHOBJ *ppo
3303 );
3304
3305 W32KAPI
3306 VOID
3307 APIENTRY
3308 NtGdiEngDeletePath(
3309 IN PATHOBJ *ppo
3310 );
3311
3312 W32KAPI
3313 VOID
3314 APIENTRY
3315 NtGdiPATHOBJ_vEnumStartClipLines(
3316 IN PATHOBJ *ppo,
3317 IN CLIPOBJ *pco,
3318 IN SURFOBJ *pso,
3319 IN LINEATTRS *pla
3320 );
3321
3322 W32KAPI
3323 BOOL
3324 APIENTRY
3325 NtGdiPATHOBJ_bEnumClipLines(
3326 IN PATHOBJ *ppo,
3327 _In_ ULONG cb,
3328 OUT CLIPLINE *pcl
3329 );
3330
3331 W32KAPI
3332 BOOL
3333 APIENTRY
3334 NtGdiEngCheckAbort(
3335 IN SURFOBJ *pso
3336 );
3337
3338 W32KAPI
3339 DHPDEV
3340 APIENTRY
3341 NtGdiGetDhpdev(
3342 IN HDEV hdev
3343 );
3344
3345 W32KAPI
3346 LONG
3347 APIENTRY
3348 NtGdiHT_Get8BPPFormatPalette(
3349 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
3350 IN USHORT RedGamma,
3351 IN USHORT GreenGamma,
3352 IN USHORT BlueGamma
3353 );
3354
3355 W32KAPI
3356 LONG
3357 APIENTRY
3358 NtGdiHT_Get8BPPMaskPalette(
3359 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
3360 _In_ BOOL Use8BPPMaskPal,
3361 IN BYTE CMYMask,
3362 IN USHORT RedGamma,
3363 IN USHORT GreenGamma,
3364 IN USHORT BlueGamma
3365 );
3366
3367 W32KAPI
3368 BOOL
3369 APIENTRY
3370 NtGdiUpdateTransform(
3371 _In_ HDC hdc
3372 );
3373
3374 W32KAPI
3375 DWORD
3376 APIENTRY
3377 NtGdiSetLayout(
3378 _In_ HDC hdc,
3379 _In_ LONG wox,
3380 _In_ DWORD dwLayout
3381 );
3382
3383 W32KAPI
3384 BOOL
3385 APIENTRY
3386 NtGdiMirrorWindowOrg(
3387 _In_ HDC hdc
3388 );
3389
3390 W32KAPI
3391 LONG
3392 APIENTRY
3393 NtGdiGetDeviceWidth(
3394 _In_ HDC hdc
3395 );
3396
3397 W32KAPI
3398 BOOL
3399 APIENTRY
3400 NtGdiSetPUMPDOBJ(
3401 IN HUMPD humpd,
3402 _In_ BOOL bStoreID,
3403 OUT HUMPD *phumpd,
3404 OUT BOOL *pbWOW64
3405 );
3406
3407 W32KAPI
3408 BOOL
3409 APIENTRY
3410 NtGdiBRUSHOBJ_DeleteRbrush(
3411 IN BRUSHOBJ *pbo,
3412 IN BRUSHOBJ *pboB
3413 );
3414
3415 W32KAPI
3416 BOOL
3417 APIENTRY
3418 NtGdiUMPDEngFreeUserMem(
3419 IN KERNEL_PVOID *ppv
3420 );
3421
3422 W32KAPI
3423 HBITMAP
3424 APIENTRY
3425 NtGdiSetBitmapAttributes(
3426 IN HBITMAP hbm,
3427 _In_ DWORD dwFlags
3428 );
3429
3430 W32KAPI
3431 HBITMAP
3432 APIENTRY
3433 NtGdiClearBitmapAttributes(
3434 IN HBITMAP hbm,
3435 _In_ DWORD dwFlags
3436 );
3437
3438 W32KAPI
3439 HBRUSH
3440 APIENTRY
3441 NtGdiSetBrushAttributes(
3442 _In_ HBRUSH hbm,
3443 _In_ DWORD dwFlags
3444 );
3445
3446 W32KAPI
3447 HBRUSH
3448 APIENTRY
3449 NtGdiClearBrushAttributes(
3450 _In_ HBRUSH hbm,
3451 _In_ DWORD dwFlags
3452 );
3453
3454 W32KAPI
3455 BOOL
3456 APIENTRY
3457 NtGdiDrawStream(
3458 _In_ HDC hdcDst,
3459 _In_ ULONG cjIn,
3460 IN VOID *pvIn
3461 );
3462
3463 W32KAPI
3464 BOOL
3465 APIENTRY
3466 NtGdiMakeObjectXferable(
3467 _In_ HANDLE h,
3468 _In_ DWORD dwProcessId
3469 );
3470
3471 W32KAPI
3472 BOOL
3473 APIENTRY
3474 NtGdiMakeObjectUnXferable(
3475 _In_ HANDLE h
3476 );
3477
3478 W32KAPI
3479 BOOL
3480 APIENTRY
3481 NtGdiInitSpool(VOID);
3482
3483 /* FIXME wrong prototypes fix the build */
3484 W32KAPI
3485 INT
3486 APIENTRY
3487 NtGdiGetSpoolMessage( DWORD u1,
3488 DWORD u2,
3489 DWORD u3,
3490 DWORD u4);
3491 #endif