[FAST486]
[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 _Success_(return != FALSE)
1173 W32KAPI
1174 BOOL
1175 APIENTRY
1176 NtGdiGetDeviceGammaRamp(
1177 _In_ HDC hdc,
1178 _Out_writes_bytes_(sizeof(GAMMARAMP)) LPVOID lpGammaRamp);
1179
1180 W32KAPI
1181 BOOL
1182 APIENTRY
1183 NtGdiSetDeviceGammaRamp(
1184 _In_ HDC hdc,
1185 _In_reads_bytes_(sizeof(GAMMARAMP)) LPVOID lpGammaRamp);
1186
1187 W32KAPI
1188 BOOL
1189 APIENTRY
1190 NtGdiIcmBrushInfo(
1191 _In_ HDC hdc,
1192 _In_ HBRUSH hbrush,
1193 IN OUT PBITMAPINFO pbmiDIB,
1194 IN OUT PVOID pvBits,
1195 IN OUT ULONG *pulBits,
1196 OUT OPTIONAL DWORD *piUsage,
1197 OUT OPTIONAL BOOL *pbAlreadyTran,
1198 _In_ ULONG Command
1199 );
1200
1201 W32KAPI
1202 VOID
1203 APIENTRY
1204 NtGdiFlush(VOID);
1205
1206 W32KAPI
1207 HDC
1208 APIENTRY
1209 NtGdiCreateMetafileDC(
1210 _In_ HDC hdc);
1211
1212 W32KAPI
1213 BOOL
1214 APIENTRY
1215 NtGdiMakeInfoDC(
1216 _In_ HDC hdc,
1217 _In_ BOOL bSet);
1218
1219 W32KAPI
1220 HANDLE
1221 APIENTRY
1222 NtGdiCreateClientObj(
1223 _In_ ULONG ulType);
1224
1225 W32KAPI
1226 BOOL
1227 APIENTRY
1228 NtGdiDeleteClientObj(
1229 _In_ HANDLE h);
1230
1231 W32KAPI
1232 LONG
1233 APIENTRY
1234 NtGdiGetBitmapBits(
1235 _In_ HBITMAP hbm,
1236 _In_ ULONG cjMax,
1237 OUT OPTIONAL PBYTE pjOut
1238 );
1239
1240 W32KAPI
1241 BOOL
1242 APIENTRY
1243 NtGdiDeleteObjectApp(
1244 _In_ HANDLE hobj);
1245
1246 W32KAPI
1247 INT
1248 APIENTRY
1249 NtGdiGetPath(
1250 _In_ HDC hdc,
1251 OUT OPTIONAL LPPOINT pptlBuf,
1252 OUT OPTIONAL LPBYTE pjTypes,
1253 _In_ INT cptBuf
1254 );
1255
1256 W32KAPI
1257 HDC
1258 APIENTRY
1259 NtGdiCreateCompatibleDC(
1260 _In_opt_ HDC hdc);
1261
1262 W32KAPI
1263 HBITMAP
1264 APIENTRY
1265 NtGdiCreateDIBitmapInternal(
1266 _In_ HDC hdc,
1267 _In_ INT cx,
1268 _In_ INT cy,
1269 _In_ DWORD fInit,
1270 _In_opt_ LPBYTE pjInit,
1271 _In_opt_ LPBITMAPINFO pbmi,
1272 _In_ DWORD iUsage,
1273 _In_ UINT cjMaxInitInfo,
1274 _In_ UINT cjMaxBits,
1275 _In_ FLONG f,
1276 _In_ HANDLE hcmXform);
1277
1278 W32KAPI
1279 HBITMAP
1280 APIENTRY
1281 NtGdiCreateDIBSection(
1282 _In_ HDC hdc,
1283 _In_opt_ HANDLE hSectionApp,
1284 _In_ DWORD dwOffset,
1285 _In_ LPBITMAPINFO pbmi,
1286 _In_ DWORD iUsage,
1287 _In_ UINT cjHeader,
1288 _In_ FLONG fl,
1289 _In_ ULONG_PTR dwColorSpace,
1290 _Out_opt_ PVOID *ppvBits);
1291
1292 W32KAPI
1293 HBRUSH
1294 APIENTRY
1295 NtGdiCreateSolidBrush(
1296 _In_ COLORREF cr,
1297 _In_opt_ HBRUSH hbr);
1298
1299 W32KAPI
1300 HBRUSH
1301 APIENTRY
1302 NtGdiCreateDIBBrush(
1303 _In_ PVOID pv,
1304 _In_ FLONG fl,
1305 _In_ UINT cj,
1306 _In_ BOOL b8X8,
1307 _In_ BOOL bPen,
1308 _In_ PVOID pClient);
1309
1310 W32KAPI
1311 HBRUSH
1312 APIENTRY
1313 NtGdiCreatePatternBrushInternal(
1314 _In_ HBITMAP hbm,
1315 _In_ BOOL bPen,
1316 _In_ BOOL b8X8);
1317
1318 W32KAPI
1319 HBRUSH
1320 APIENTRY
1321 NtGdiCreateHatchBrushInternal(
1322 _In_ ULONG ulStyle,
1323 _In_ COLORREF clrr,
1324 _In_ BOOL bPen);
1325
1326 W32KAPI
1327 HPEN
1328 APIENTRY
1329 NtGdiExtCreatePen(
1330 _In_ ULONG flPenStyle,
1331 _In_ ULONG ulWidth,
1332 _In_ ULONG iBrushStyle,
1333 _In_ ULONG ulColor,
1334 _In_ ULONG_PTR lClientHatch,
1335 _In_ ULONG_PTR lHatch,
1336 _In_ ULONG cstyle,
1337 _In_opt_ PULONG pulStyle,
1338 _In_ ULONG cjDIB,
1339 _In_ BOOL bOldStylePen,
1340 _In_opt_ HBRUSH hbrush);
1341
1342 W32KAPI
1343 HRGN
1344 APIENTRY
1345 NtGdiCreateEllipticRgn(
1346 _In_ INT xLeft,
1347 _In_ INT yTop,
1348 _In_ INT xRight,
1349 _In_ INT yBottom);
1350
1351 W32KAPI
1352 HRGN
1353 APIENTRY
1354 NtGdiCreateRoundRectRgn(
1355 _In_ INT xLeft,
1356 _In_ INT yTop,
1357 _In_ INT xRight,
1358 _In_ INT yBottom,
1359 _In_ INT xWidth,
1360 _In_ INT yHeight);
1361
1362 W32KAPI
1363 HANDLE
1364 APIENTRY
1365 NtGdiCreateServerMetaFile(
1366 _In_ DWORD iType,
1367 _In_ ULONG cjData,
1368 _In_reads_bytes_(cjData) LPBYTE pjData,
1369 _In_ DWORD mm,
1370 _In_ DWORD xExt,
1371 _In_ DWORD yExt);
1372
1373 W32KAPI
1374 HRGN
1375 APIENTRY
1376 NtGdiExtCreateRegion(
1377 _In_opt_ LPXFORM px,
1378 _In_ DWORD cj,
1379 _In_ LPRGNDATA prgn);
1380
1381 W32KAPI
1382 ULONG
1383 APIENTRY
1384 NtGdiMakeFontDir(
1385 _In_ FLONG flEmbed,
1386 _Out_writes_bytes_(cjFontDir) PBYTE pjFontDir,
1387 _In_ unsigned cjFontDir,
1388 _In_z_bytecount_(cjPathname) LPWSTR pwszPathname,
1389 _In_ unsigned cjPathname);
1390
1391 W32KAPI
1392 BOOL
1393 APIENTRY
1394 NtGdiPolyDraw(
1395 _In_ HDC hdc,
1396 _In_count_(cpt) LPPOINT ppt,
1397 _In_count_(cpt) LPBYTE pjAttr,
1398 _In_ ULONG cpt);
1399
1400 W32KAPI
1401 BOOL
1402 APIENTRY
1403 NtGdiPolyTextOutW(
1404 _In_ HDC hdc,
1405 _In_ POLYTEXTW *pptw,
1406 _In_ UINT cStr,
1407 _In_ DWORD dwCodePage);
1408
1409 W32KAPI
1410 ULONG
1411 APIENTRY
1412 NtGdiGetServerMetaFileBits(
1413 _In_ HANDLE hmo,
1414 _In_ ULONG cjData,
1415 OUT OPTIONAL LPBYTE pjData,
1416 OUT PDWORD piType,
1417 OUT PDWORD pmm,
1418 OUT PDWORD pxExt,
1419 OUT PDWORD pyExt
1420 );
1421
1422 W32KAPI
1423 BOOL
1424 APIENTRY
1425 NtGdiEqualRgn(
1426 _In_ HRGN hrgn1,
1427 _In_ HRGN hrgn2);
1428
1429 _Must_inspect_result_
1430 W32KAPI
1431 BOOL
1432 APIENTRY
1433 NtGdiGetBitmapDimension(
1434 _In_ HBITMAP hbm,
1435 _When_(return != FALSE, _Out_) LPSIZE psize);
1436
1437 W32KAPI
1438 UINT
1439 APIENTRY
1440 NtGdiGetNearestPaletteIndex(
1441 _In_ HPALETTE hpal,
1442 _In_ COLORREF crColor);
1443
1444 W32KAPI
1445 BOOL
1446 APIENTRY
1447 NtGdiPtVisible(
1448 _In_ HDC hdc,
1449 _In_ INT x,
1450 _In_ INT y);
1451
1452 W32KAPI
1453 BOOL
1454 APIENTRY
1455 NtGdiRectVisible(
1456 _In_ HDC hdc,
1457 _In_ LPRECT prc);
1458
1459 W32KAPI
1460 BOOL
1461 APIENTRY
1462 NtGdiRemoveFontResourceW(
1463 _In_z_count_(cwc) WCHAR *pwszFiles,
1464 _In_ ULONG cwc,
1465 _In_ ULONG cFiles,
1466 _In_ ULONG fl,
1467 _In_ DWORD dwPidTid,
1468 _In_opt_ DESIGNVECTOR *pdv);
1469
1470 W32KAPI
1471 BOOL
1472 APIENTRY
1473 NtGdiResizePalette(
1474 _In_ HPALETTE hpal,
1475 _In_ UINT cEntry);
1476
1477 W32KAPI
1478 BOOL
1479 APIENTRY
1480 NtGdiSetBitmapDimension(
1481 _In_ HBITMAP hbm,
1482 _In_ INT cx,
1483 _In_ INT cy,
1484 _In_opt_ LPSIZE psizeOut);
1485
1486 W32KAPI
1487 INT
1488 APIENTRY
1489 NtGdiOffsetClipRgn(
1490 _In_ HDC hdc,
1491 _In_ INT x,
1492 _In_ INT y);
1493
1494 W32KAPI
1495 INT
1496 APIENTRY
1497 NtGdiSetMetaRgn(
1498 _In_ HDC hdc);
1499
1500 W32KAPI
1501 BOOL
1502 APIENTRY
1503 NtGdiSetTextJustification(
1504 _In_ HDC hdc,
1505 _In_ INT lBreakExtra,
1506 _In_ INT cBreak);
1507
1508 W32KAPI
1509 INT
1510 APIENTRY
1511 NtGdiGetAppClipBox(
1512 _In_ HDC hdc,
1513 _Out_ LPRECT prc);
1514
1515 W32KAPI
1516 BOOL
1517 APIENTRY
1518 NtGdiGetTextExtentExW(
1519 _In_ HDC hdc,
1520 IN OPTIONAL LPWSTR lpwsz,
1521 _In_ ULONG cwc,
1522 _In_ ULONG dxMax,
1523 OUT OPTIONAL ULONG *pcCh,
1524 OUT OPTIONAL PULONG pdxOut,
1525 OUT LPSIZE psize,
1526 _In_ FLONG fl
1527 );
1528
1529 W32KAPI
1530 BOOL
1531 APIENTRY
1532 NtGdiGetCharABCWidthsW(
1533 _In_ HDC hdc,
1534 _In_ UINT wchFirst,
1535 _In_ ULONG cwch,
1536 IN OPTIONAL PWCHAR pwch,
1537 _In_ FLONG fl,
1538 OUT PVOID pvBuf
1539 );
1540
1541 W32KAPI
1542 DWORD
1543 APIENTRY
1544 NtGdiGetCharacterPlacementW(
1545 _In_ HDC hdc,
1546 IN LPWSTR pwsz,
1547 _In_ INT nCount,
1548 _In_ INT nMaxExtent,
1549 IN OUT LPGCP_RESULTSW pgcpw,
1550 _In_ DWORD dwFlags
1551 );
1552
1553 W32KAPI
1554 BOOL
1555 APIENTRY
1556 NtGdiAngleArc(
1557 _In_ HDC hdc,
1558 _In_ INT x,
1559 _In_ INT y,
1560 _In_ DWORD dwRadius,
1561 _In_ DWORD dwStartAngle,
1562 _In_ DWORD dwSweepAngle);
1563
1564 W32KAPI
1565 BOOL
1566 APIENTRY
1567 NtGdiBeginPath(
1568 _In_ HDC hdc);
1569
1570 W32KAPI
1571 BOOL
1572 APIENTRY
1573 NtGdiSelectClipPath(
1574 _In_ HDC hdc,
1575 _In_ INT iMode);
1576
1577 W32KAPI
1578 BOOL
1579 APIENTRY
1580 NtGdiCloseFigure(
1581 _In_ HDC hdc);
1582
1583 W32KAPI
1584 BOOL
1585 APIENTRY
1586 NtGdiEndPath(
1587 _In_ HDC hdc);
1588
1589 W32KAPI
1590 BOOL
1591 APIENTRY
1592 NtGdiAbortPath(
1593 _In_ HDC hdc);
1594
1595 W32KAPI
1596 BOOL
1597 APIENTRY
1598 NtGdiFillPath(
1599 _In_ HDC hdc);
1600
1601 W32KAPI
1602 BOOL
1603 APIENTRY
1604 NtGdiStrokeAndFillPath(
1605 _In_ HDC hdc);
1606
1607 W32KAPI
1608 BOOL
1609 APIENTRY
1610 NtGdiStrokePath(
1611 _In_ HDC hdc);
1612
1613 W32KAPI
1614 BOOL
1615 APIENTRY
1616 NtGdiWidenPath(
1617 _In_ HDC hdc);
1618
1619 W32KAPI
1620 BOOL
1621 APIENTRY
1622 NtGdiFlattenPath(
1623 _In_ HDC hdc);
1624
1625 W32KAPI
1626 NTSTATUS
1627 APIENTRY
1628 NtGdiFlushUserBatch(VOID);
1629
1630 W32KAPI
1631 HRGN
1632 APIENTRY
1633 NtGdiPathToRegion(
1634 _In_ HDC hdc);
1635
1636 W32KAPI
1637 BOOL
1638 APIENTRY
1639 NtGdiSetMiterLimit(
1640 _In_ HDC hdc,
1641 _In_ DWORD dwNew,
1642 _Out_opt_ PDWORD pdwOut);
1643
1644 W32KAPI
1645 BOOL
1646 APIENTRY
1647 NtGdiSetFontXform(
1648 _In_ HDC hdc,
1649 _In_ DWORD dwxScale,
1650 _In_ DWORD dwyScale);
1651
1652 _Success_(return != FALSE)
1653 W32KAPI
1654 BOOL
1655 APIENTRY
1656 NtGdiGetMiterLimit(
1657 _In_ HDC hdc,
1658 _Out_ PDWORD pdwOut);
1659
1660 W32KAPI
1661 BOOL
1662 APIENTRY
1663 NtGdiEllipse(
1664 _In_ HDC hdc,
1665 _In_ INT xLeft,
1666 _In_ INT yTop,
1667 _In_ INT xRight,
1668 _In_ INT yBottom);
1669
1670 W32KAPI
1671 BOOL
1672 APIENTRY
1673 NtGdiRectangle(
1674 _In_ HDC hdc,
1675 _In_ INT xLeft,
1676 _In_ INT yTop,
1677 _In_ INT xRight,
1678 _In_ INT yBottom);
1679
1680 W32KAPI
1681 BOOL
1682 APIENTRY
1683 NtGdiRoundRect(
1684 _In_ HDC hdc,
1685 _In_ INT x1,
1686 _In_ INT y1,
1687 _In_ INT x2,
1688 _In_ INT y2,
1689 _In_ INT x3,
1690 _In_ INT y3);
1691
1692 W32KAPI
1693 BOOL
1694 APIENTRY
1695 NtGdiPlgBlt(
1696 _In_ HDC hdcTrg,
1697 _In_ LPPOINT pptlTrg,
1698 _In_ HDC hdcSrc,
1699 _In_ INT xSrc,
1700 _In_ INT ySrc,
1701 _In_ INT cxSrc,
1702 _In_ INT cySrc,
1703 _In_ HBITMAP hbmMask,
1704 _In_ INT xMask,
1705 _In_ INT yMask,
1706 _In_ DWORD crBackColor);
1707
1708 W32KAPI
1709 BOOL
1710 APIENTRY
1711 NtGdiMaskBlt(
1712 _In_ HDC hdc,
1713 _In_ INT xDst,
1714 _In_ INT yDst,
1715 _In_ INT cx,
1716 _In_ INT cy,
1717 _In_ HDC hdcSrc,
1718 _In_ INT xSrc,
1719 _In_ INT ySrc,
1720 _In_opt_ HBITMAP hbmMask,
1721 _In_ INT xMask,
1722 _In_ INT yMask,
1723 _In_ DWORD dwRop4,
1724 _In_ DWORD crBackColor);
1725
1726 W32KAPI
1727 BOOL
1728 APIENTRY
1729 NtGdiExtFloodFill(
1730 _In_ HDC hdc,
1731 _In_ INT x,
1732 _In_ INT y,
1733 _In_ COLORREF crColor,
1734 _In_ UINT iFillType);
1735
1736 W32KAPI
1737 BOOL
1738 APIENTRY
1739 NtGdiFillRgn(
1740 _In_ HDC hdc,
1741 _In_ HRGN hrgn,
1742 _In_ HBRUSH hbrush);
1743
1744 W32KAPI
1745 BOOL
1746 APIENTRY
1747 NtGdiFrameRgn(
1748 _In_ HDC hdc,
1749 _In_ HRGN hrgn,
1750 _In_ HBRUSH hbrush,
1751 _In_ INT xWidth,
1752 _In_ INT yHeight);
1753
1754 W32KAPI
1755 COLORREF
1756 APIENTRY
1757 NtGdiSetPixel(
1758 _In_ HDC hdcDst,
1759 _In_ INT x,
1760 _In_ INT y,
1761 _In_ COLORREF crColor);
1762
1763 W32KAPI
1764 DWORD
1765 APIENTRY
1766 NtGdiGetPixel(
1767 _In_ HDC hdc,
1768 _In_ INT x,
1769 _In_ INT y);
1770
1771 W32KAPI
1772 BOOL
1773 APIENTRY
1774 NtGdiStartPage(
1775 _In_ HDC hdc);
1776
1777 W32KAPI
1778 BOOL
1779 APIENTRY
1780 NtGdiEndPage(
1781 _In_ HDC hdc);
1782
1783 W32KAPI
1784 INT
1785 APIENTRY
1786 NtGdiStartDoc(
1787 _In_ HDC hdc,
1788 IN DOCINFOW *pdi,
1789 OUT BOOL *pbBanding,
1790 _In_ INT iJob
1791 );
1792
1793 W32KAPI
1794 BOOL
1795 APIENTRY
1796 NtGdiEndDoc(
1797 _In_ HDC hdc);
1798
1799 W32KAPI
1800 BOOL
1801 APIENTRY
1802 NtGdiAbortDoc(
1803 _In_ HDC hdc);
1804
1805 W32KAPI
1806 BOOL
1807 APIENTRY
1808 NtGdiUpdateColors(
1809 _In_ HDC hdc);
1810
1811 W32KAPI
1812 BOOL
1813 APIENTRY
1814 NtGdiGetCharWidthW(
1815 _In_ HDC hdc,
1816 _In_ UINT wcFirst,
1817 _In_ UINT cwc,
1818 IN OPTIONAL PWCHAR pwc,
1819 _In_ FLONG fl,
1820 OUT PVOID pvBuf
1821 );
1822
1823 W32KAPI
1824 BOOL
1825 APIENTRY
1826 NtGdiGetCharWidthInfo(
1827 _In_ HDC hdc,
1828 OUT PCHWIDTHINFO pChWidthInfo
1829 );
1830
1831 W32KAPI
1832 INT
1833 APIENTRY
1834 NtGdiDrawEscape(
1835 _In_ HDC hdc,
1836 _In_ INT iEsc,
1837 _In_ INT cjIn,
1838 IN OPTIONAL LPSTR pjIn
1839 );
1840
1841 W32KAPI
1842 INT
1843 APIENTRY
1844 NtGdiExtEscape(
1845 _In_ HDC hdc,
1846 IN OPTIONAL PWCHAR pDriver,
1847 _In_ INT nDriver,
1848 _In_ INT iEsc,
1849 _In_ INT cjIn,
1850 IN OPTIONAL LPSTR pjIn,
1851 _In_ INT cjOut,
1852 OUT OPTIONAL LPSTR pjOut
1853 );
1854
1855 W32KAPI
1856 ULONG
1857 APIENTRY
1858 NtGdiGetFontData(
1859 _In_ HDC hdc,
1860 _In_ DWORD dwTable,
1861 _In_ DWORD dwOffset,
1862 OUT OPTIONAL PVOID pvBuf,
1863 _In_ ULONG cjBuf
1864 );
1865
1866 W32KAPI
1867 ULONG
1868 APIENTRY
1869 NtGdiGetGlyphOutline(
1870 _In_ HDC hdc,
1871 IN WCHAR wch,
1872 _In_ UINT iFormat,
1873 OUT LPGLYPHMETRICS pgm,
1874 _In_ ULONG cjBuf,
1875 OUT OPTIONAL PVOID pvBuf,
1876 IN LPMAT2 pmat2,
1877 _In_ BOOL bIgnoreRotation
1878 );
1879
1880 W32KAPI
1881 BOOL
1882 APIENTRY
1883 NtGdiGetETM(
1884 _In_ HDC hdc,
1885 OUT EXTTEXTMETRIC *petm
1886 );
1887
1888 W32KAPI
1889 BOOL
1890 APIENTRY
1891 NtGdiGetRasterizerCaps(
1892 OUT LPRASTERIZER_STATUS praststat,
1893 _In_ ULONG cjBytes
1894 );
1895
1896 W32KAPI
1897 ULONG
1898 APIENTRY
1899 NtGdiGetKerningPairs(
1900 _In_ HDC hdc,
1901 _In_ ULONG cPairs,
1902 OUT OPTIONAL KERNINGPAIR *pkpDst
1903 );
1904
1905 W32KAPI
1906 BOOL
1907 APIENTRY
1908 NtGdiMonoBitmap(
1909 _In_ HBITMAP hbm);
1910
1911 W32KAPI
1912 HBITMAP
1913 APIENTRY
1914 NtGdiGetObjectBitmapHandle(
1915 _In_ HBRUSH hbr,
1916 OUT UINT *piUsage
1917 );
1918
1919 W32KAPI
1920 ULONG
1921 APIENTRY
1922 NtGdiEnumObjects(
1923 _In_ HDC hdc,
1924 _In_ INT iObjectType,
1925 _In_ ULONG cjBuf,
1926 OUT OPTIONAL PVOID pvBuf
1927 );
1928
1929 // Note from SDK:
1930 //
1931 // NtGdiResetDC
1932 // The exact size of the buffer at pdm is pdm->dmSize + pdm->dmDriverExtra.
1933 // But this can't be specified with current annotation language.
1934 //
1935 // typedef struct _DRIVER_INFO_2W DRIVER_INFO_2W;
1936 //
1937 // :end note.
1938 W32KAPI
1939 BOOL
1940 APIENTRY
1941 NtGdiResetDC(
1942 _In_ HDC hdc,
1943 _In_ LPDEVMODEW pdm,
1944 OUT PBOOL pbBanding,
1945 IN OPTIONAL VOID *pDriverInfo2, // this is "typedef struct _DRIVER_INFO_2W DRIVER_INFO_2W;"
1946 OUT VOID *ppUMdhpdev
1947 );
1948
1949 W32KAPI
1950 DWORD
1951 APIENTRY
1952 NtGdiSetBoundsRect(
1953 _In_ HDC hdc,
1954 _In_ LPRECT prc,
1955 _In_ DWORD f);
1956
1957 W32KAPI
1958 BOOL
1959 APIENTRY
1960 NtGdiGetColorAdjustment(
1961 _In_ HDC hdc,
1962 _Out_ PCOLORADJUSTMENT pcaOut);
1963
1964 W32KAPI
1965 BOOL
1966 APIENTRY
1967 NtGdiSetColorAdjustment(
1968 _In_ HDC hdc,
1969 _In_ PCOLORADJUSTMENT pca);
1970
1971 W32KAPI
1972 BOOL
1973 APIENTRY
1974 NtGdiCancelDC(
1975 _In_ HDC hdc);
1976
1977 W32KAPI
1978 HDC
1979 APIENTRY
1980 NtGdiOpenDCW(
1981 IN OPTIONAL PUNICODE_STRING pustrDevice,
1982 IN DEVMODEW *pdm, // See note for NtGdiResetDC
1983 IN PUNICODE_STRING pustrLogAddr,
1984 _In_ ULONG iType,
1985 _In_ BOOL bDisplay,
1986 IN OPTIONAL HANDLE hspool,
1987 IN OPTIONAL VOID *pDriverInfo2, // this is "typedef struct _DRIVER_INFO_2W DRIVER_INFO_2W;"
1988 OUT VOID *pUMdhpdev
1989 );
1990
1991 W32KAPI
1992 BOOL
1993 APIENTRY
1994 NtGdiGetDCDword(
1995 _In_ HDC hdc,
1996 _In_ UINT u,
1997 OUT DWORD *Result
1998 );
1999
2000 _Success_(return!=FALSE)
2001 W32KAPI
2002 BOOL
2003 APIENTRY
2004 NtGdiGetDCPoint(
2005 _In_ HDC hdc,
2006 _In_ UINT iPoint,
2007 _Out_ PPOINTL pptOut);
2008
2009 W32KAPI
2010 BOOL
2011 APIENTRY
2012 NtGdiScaleViewportExtEx(
2013 _In_ HDC hdc,
2014 _In_ INT xNum,
2015 _In_ INT xDenom,
2016 _In_ INT yNum,
2017 _In_ INT yDenom,
2018 OUT OPTIONAL LPSIZE pszOut
2019 );
2020
2021 W32KAPI
2022 BOOL
2023 APIENTRY
2024 NtGdiScaleWindowExtEx(
2025 _In_ HDC hdc,
2026 _In_ INT xNum,
2027 _In_ INT xDenom,
2028 _In_ INT yNum,
2029 _In_ INT yDenom,
2030 OUT OPTIONAL LPSIZE pszOut
2031 );
2032
2033 W32KAPI
2034 BOOL
2035 APIENTRY
2036 NtGdiSetVirtualResolution(
2037 _In_ HDC hdc,
2038 _In_ INT cxVirtualDevicePixel,
2039 _In_ INT cyVirtualDevicePixel,
2040 _In_ INT cxVirtualDeviceMm,
2041 _In_ INT cyVirtualDeviceMm);
2042
2043 W32KAPI
2044 BOOL
2045 APIENTRY
2046 NtGdiSetSizeDevice(
2047 _In_ HDC hdc,
2048 _In_ INT cxVirtualDevice,
2049 _In_ INT cyVirtualDevice);
2050
2051 _Success_(return !=FALSE)
2052 W32KAPI
2053 BOOL
2054 APIENTRY
2055 NtGdiGetTransform(
2056 _In_ HDC hdc,
2057 _In_ DWORD iXform,
2058 _Out_ LPXFORM pxf);
2059
2060 W32KAPI
2061 BOOL
2062 APIENTRY
2063 NtGdiModifyWorldTransform(
2064 _In_ HDC hdc,
2065 _In_opt_ LPXFORM pxf,
2066 _In_ DWORD iXform);
2067
2068 W32KAPI
2069 BOOL
2070 APIENTRY
2071 NtGdiCombineTransform(
2072 _Out_ LPXFORM pxfDst,
2073 _In_ LPXFORM pxfSrc1,
2074 _In_ LPXFORM pxfSrc2);
2075
2076 W32KAPI
2077 BOOL
2078 APIENTRY
2079 NtGdiTransformPoints(
2080 _In_ HDC hdc,
2081 _In_reads_(c) PPOINT pptIn,
2082 _Out_writes_(c) PPOINT pptOut,
2083 _In_ INT c,
2084 _In_ INT iMode);
2085
2086 W32KAPI
2087 LONG
2088 APIENTRY
2089 NtGdiConvertMetafileRect(
2090 _In_ HDC hdc,
2091 _Inout_ PRECTL prect);
2092
2093 W32KAPI
2094 INT
2095 APIENTRY
2096 NtGdiGetTextCharsetInfo(
2097 _In_ HDC hdc,
2098 OUT OPTIONAL LPFONTSIGNATURE lpSig,
2099 _In_ DWORD dwFlags
2100 );
2101
2102 W32KAPI
2103 BOOL
2104 APIENTRY
2105 NtGdiDoBanding(
2106 _In_ HDC hdc,
2107 _In_ BOOL bStart,
2108 OUT POINTL *pptl,
2109 OUT PSIZE pSize
2110 );
2111
2112 W32KAPI
2113 ULONG
2114 APIENTRY
2115 NtGdiGetPerBandInfo(
2116 _In_ HDC hdc,
2117 IN OUT PERBANDINFO *ppbi
2118 );
2119
2120 W32KAPI
2121 NTSTATUS
2122 APIENTRY
2123 NtGdiGetStats(
2124 _In_ HANDLE hProcess,
2125 _In_ INT iIndex,
2126 _In_ INT iPidType,
2127 OUT PVOID pResults,
2128 _In_ UINT cjResultSize
2129 );
2130
2131 W32KAPI
2132 BOOL
2133 APIENTRY
2134 NtGdiSetMagicColors(
2135 _In_ HDC hdc,
2136 IN PALETTEENTRY peMagic,
2137 _In_ ULONG Index
2138 );
2139
2140 W32KAPI
2141 HBRUSH
2142 APIENTRY
2143 NtGdiSelectBrush(
2144 _In_ HDC hdc,
2145 _In_ HBRUSH hbrush
2146 );
2147
2148 W32KAPI
2149 HPEN
2150 APIENTRY
2151 NtGdiSelectPen(
2152 _In_ HDC hdc,
2153 _In_ HPEN hpen);
2154
2155 W32KAPI
2156 HBITMAP
2157 APIENTRY
2158 NtGdiSelectBitmap(
2159 _In_ HDC hdc,
2160 _In_ HBITMAP hbm);
2161
2162 W32KAPI
2163 HFONT
2164 APIENTRY
2165 NtGdiSelectFont(
2166 _In_ HDC hdc,
2167 _In_ HFONT hf);
2168
2169 W32KAPI
2170 INT
2171 APIENTRY
2172 NtGdiExtSelectClipRgn(
2173 _In_ HDC hdc,
2174 _In_ HRGN hrgn,
2175 _In_ INT iMode);
2176
2177 W32KAPI
2178 HPEN
2179 APIENTRY
2180 NtGdiCreatePen(
2181 _In_ INT iPenStyle,
2182 _In_ INT iPenWidth,
2183 _In_ COLORREF cr,
2184 _In_ HBRUSH hbr);
2185
2186 #ifdef _WINDOWBLT_NOTIFICATION_
2187 W32KAPI
2188 BOOL
2189 APIENTRY
2190 NtGdiBitBlt(
2191 _In_ HDC hdcDst,
2192 _In_ INT x,
2193 _In_ INT y,
2194 _In_ INT cx,
2195 _In_ INT cy,
2196 _In_ HDC hdcSrc,
2197 _In_ INT xSrc,
2198 _In_ INT ySrc,
2199 _In_ DWORD rop4,
2200 _In_ DWORD crBackColor,
2201 _In_ FLONG fl);
2202 #else
2203 W32KAPI
2204 BOOL
2205 APIENTRY
2206 NtGdiBitBlt(
2207 _In_ HDC hdcDst,
2208 _In_ INT x,
2209 _In_ INT y,
2210 _In_ INT cx,
2211 _In_ INT cy,
2212 _In_ HDC hdcSrc,
2213 _In_ INT xSrc,
2214 _In_ INT ySrc,
2215 _In_ DWORD rop4,
2216 _In_ DWORD crBackColor);
2217 #endif
2218
2219 W32KAPI
2220 BOOL
2221 APIENTRY
2222 NtGdiTileBitBlt(
2223 _In_ HDC hdcDst,
2224 _In_ RECTL *prectDst,
2225 _In_ HDC hdcSrc,
2226 _In_ RECTL *prectSrc,
2227 _In_ POINTL *pptlOrigin,
2228 _In_ DWORD rop4,
2229 _In_ DWORD crBackColor);
2230
2231 W32KAPI
2232 BOOL
2233 APIENTRY
2234 NtGdiTransparentBlt(
2235 _In_ HDC hdcDst,
2236 _In_ INT xDst,
2237 _In_ INT yDst,
2238 _In_ INT cxDst,
2239 _In_ INT cyDst,
2240 _In_ HDC hdcSrc,
2241 _In_ INT xSrc,
2242 _In_ INT ySrc,
2243 _In_ INT cxSrc,
2244 _In_ INT cySrc,
2245 _In_ COLORREF TransColor);
2246
2247 W32KAPI
2248 BOOL
2249 APIENTRY
2250 NtGdiGetTextExtent(
2251 _In_ HDC hdc,
2252 _In_z_count_(cwc) LPWSTR lpwsz,
2253 _In_ INT cwc,
2254 _Out_ LPSIZE psize,
2255 _In_ UINT flOpts);
2256
2257 _Success_(return != FALSE)
2258 W32KAPI
2259 BOOL
2260 APIENTRY
2261 NtGdiGetTextMetricsW(
2262 _In_ HDC hdc,
2263 _Out_bytecap_(cj) TMW_INTERNAL * ptm,
2264 _In_ ULONG cj);
2265
2266 W32KAPI
2267 INT
2268 APIENTRY
2269 NtGdiGetTextFaceW(
2270 _In_ HDC hdc,
2271 _In_ INT cChar,
2272 OUT OPTIONAL LPWSTR pszOut,
2273 _In_ BOOL bAliasName
2274 );
2275
2276 W32KAPI
2277 INT
2278 APIENTRY
2279 NtGdiGetRandomRgn(
2280 _In_ HDC hdc,
2281 _In_ HRGN hrgn,
2282 _In_ INT iRgn);
2283
2284 W32KAPI
2285 BOOL
2286 APIENTRY
2287 NtGdiExtTextOutW(
2288 _In_ HDC hdc,
2289 _In_ INT x,
2290 _In_ INT y,
2291 _In_ UINT flOpts,
2292 IN OPTIONAL LPRECT prcl,
2293 _In_z_count_(cwc) LPWSTR pwsz,
2294 _In_ INT cwc,
2295 IN OPTIONAL LPINT pdx,
2296 _In_ DWORD dwCodePage
2297 );
2298
2299 W32KAPI
2300 INT
2301 APIENTRY
2302 NtGdiIntersectClipRect(
2303 _In_ HDC hdc,
2304 _In_ INT xLeft,
2305 _In_ INT yTop,
2306 _In_ INT xRight,
2307 _In_ INT yBottom);
2308
2309 W32KAPI
2310 HRGN
2311 APIENTRY
2312 NtGdiCreateRectRgn(
2313 _In_ INT xLeft,
2314 _In_ INT yTop,
2315 _In_ INT xRight,
2316 _In_ INT yBottom);
2317
2318 W32KAPI
2319 BOOL
2320 APIENTRY
2321 NtGdiPatBlt(
2322 _In_ HDC hdcDest,
2323 _In_ INT x,
2324 _In_ INT y,
2325 _In_ INT cx,
2326 _In_ INT cy,
2327 _In_ DWORD dwRop);
2328
2329 W32KAPI
2330 BOOL
2331 APIENTRY
2332 NtGdiPolyPatBlt(
2333 _In_ HDC hdc,
2334 _In_ DWORD rop4,
2335 _In_ PPOLYPATBLT pPoly,
2336 _In_ DWORD Count,
2337 _In_ DWORD Mode);
2338
2339 W32KAPI
2340 BOOL
2341 APIENTRY
2342 NtGdiUnrealizeObject(
2343 _In_ HANDLE h);
2344
2345 W32KAPI
2346 HANDLE
2347 APIENTRY
2348 NtGdiGetStockObject(
2349 _In_ INT iObject);
2350
2351 W32KAPI
2352 HBITMAP
2353 APIENTRY
2354 NtGdiCreateCompatibleBitmap(
2355 _In_ HDC hdc,
2356 _In_ INT cx,
2357 _In_ INT cy);
2358
2359 W32KAPI
2360 BOOL
2361 APIENTRY
2362 NtGdiLineTo(
2363 _In_ HDC hdc,
2364 _In_ INT x,
2365 _In_ INT y);
2366
2367 _Success_(return != FALSE)
2368 W32KAPI
2369 BOOL
2370 APIENTRY
2371 NtGdiMoveTo(
2372 _In_ HDC hdc,
2373 _In_ INT x,
2374 _In_ INT y,
2375 _Out_opt_ LPPOINT pptOut);
2376
2377 _Success_(return != 0)
2378 W32KAPI
2379 INT
2380 APIENTRY
2381 NtGdiExtGetObjectW(
2382 _In_ HANDLE h,
2383 _In_ INT cj,
2384 _Out_opt_bytecap_(cj) LPVOID pvOut);
2385
2386 W32KAPI
2387 INT
2388 APIENTRY
2389 NtGdiGetDeviceCaps(
2390 _In_ HDC hdc,
2391 _In_ INT i);
2392
2393 _Success_(return!=FALSE)
2394 W32KAPI
2395 BOOL
2396 APIENTRY
2397 NtGdiGetDeviceCapsAll (
2398 _In_ HDC hdc,
2399 _Out_ PDEVCAPS pDevCaps);
2400
2401 W32KAPI
2402 BOOL
2403 APIENTRY
2404 NtGdiStretchBlt(
2405 _In_ HDC hdcDst,
2406 _In_ INT xDst,
2407 _In_ INT yDst,
2408 _In_ INT cxDst,
2409 _In_ INT cyDst,
2410 _In_ HDC hdcSrc,
2411 _In_ INT xSrc,
2412 _In_ INT ySrc,
2413 _In_ INT cxSrc,
2414 _In_ INT cySrc,
2415 _In_ DWORD dwRop,
2416 _In_ DWORD dwBackColor);
2417
2418 _Success_(return != FALSE)
2419 W32KAPI
2420 BOOL
2421 APIENTRY
2422 NtGdiSetBrushOrg(
2423 _In_ HDC hdc,
2424 _In_ INT x,
2425 _In_ INT y,
2426 _Out_opt_ LPPOINT pptOut);
2427
2428 W32KAPI
2429 HBITMAP
2430 APIENTRY
2431 NtGdiCreateBitmap(
2432 _In_ INT cx,
2433 _In_ INT cy,
2434 _In_ UINT cPlanes,
2435 _In_ UINT cBPP,
2436 _In_opt_ LPBYTE pjInit);
2437
2438 W32KAPI
2439 HPALETTE
2440 APIENTRY
2441 NtGdiCreateHalftonePalette(
2442 _In_ HDC hdc);
2443
2444 W32KAPI
2445 BOOL
2446 APIENTRY
2447 NtGdiRestoreDC(
2448 _In_ HDC hdc,
2449 _In_ INT iLevel);
2450
2451 W32KAPI
2452 INT
2453 APIENTRY
2454 NtGdiExcludeClipRect(
2455 _In_ HDC hdc,
2456 _In_ INT xLeft,
2457 _In_ INT yTop,
2458 _In_ INT xRight,
2459 _In_ INT yBottom);
2460
2461 W32KAPI
2462 INT
2463 APIENTRY
2464 NtGdiSaveDC(
2465 _In_ HDC hdc);
2466
2467 W32KAPI
2468 INT
2469 APIENTRY
2470 NtGdiCombineRgn(
2471 _In_ HRGN hrgnDst,
2472 _In_ HRGN hrgnSrc1,
2473 _In_opt_ HRGN hrgnSrc2,
2474 _In_ INT iMode);
2475
2476 W32KAPI
2477 BOOL
2478 APIENTRY
2479 NtGdiSetRectRgn(
2480 _In_ HRGN hrgn,
2481 _In_ INT xLeft,
2482 _In_ INT yTop,
2483 _In_ INT xRight,
2484 _In_ INT yBottom);
2485
2486 W32KAPI
2487 LONG
2488 APIENTRY
2489 NtGdiSetBitmapBits(
2490 _In_ HBITMAP hbm,
2491 _In_ ULONG cj,
2492 _In_bytecount_(cj) PBYTE pjInit);
2493
2494 W32KAPI
2495 INT
2496 APIENTRY
2497 NtGdiGetDIBitsInternal(
2498 _In_ HDC hdc,
2499 _In_ HBITMAP hbm,
2500 _In_ UINT iStartScan,
2501 _In_ UINT cScans,
2502 _Out_opt_ LPBYTE pBits,
2503 _Inout_ LPBITMAPINFO pbmi,
2504 _In_ UINT iUsage,
2505 _In_ UINT cjMaxBits,
2506 _In_ UINT cjMaxInfo);
2507
2508 W32KAPI
2509 INT
2510 APIENTRY
2511 NtGdiOffsetRgn(
2512 _In_ HRGN hrgn,
2513 _In_ INT cx,
2514 _In_ INT cy);
2515
2516 _Success_(return!=ERROR)
2517 W32KAPI
2518 INT
2519 APIENTRY
2520 NtGdiGetRgnBox(
2521 _In_ HRGN hrgn,
2522 _Out_ LPRECT prcOut);
2523
2524 W32KAPI
2525 BOOL
2526 APIENTRY
2527 NtGdiRectInRegion(
2528 _In_ HRGN hrgn,
2529 IN OUT LPRECT prcl
2530 );
2531
2532 _Success_(return!=0)
2533 W32KAPI
2534 DWORD
2535 APIENTRY
2536 NtGdiGetBoundsRect(
2537 _In_ HDC hdc,
2538 _Out_ LPRECT prc,
2539 _In_ DWORD f);
2540
2541 W32KAPI
2542 BOOL
2543 APIENTRY
2544 NtGdiPtInRegion(
2545 _In_ HRGN hrgn,
2546 _In_ INT x,
2547 _In_ INT y);
2548
2549 W32KAPI
2550 COLORREF
2551 APIENTRY
2552 NtGdiGetNearestColor(
2553 _In_ HDC hdc,
2554 _In_ COLORREF cr);
2555
2556 W32KAPI
2557 UINT
2558 APIENTRY
2559 NtGdiGetSystemPaletteUse(
2560 _In_ HDC hdc);
2561
2562 W32KAPI
2563 UINT
2564 APIENTRY
2565 NtGdiSetSystemPaletteUse(
2566 _In_ HDC hdc,
2567 _In_ UINT ui);
2568
2569 _Success_(return!=0)
2570 W32KAPI
2571 ULONG
2572 APIENTRY
2573 NtGdiGetRegionData(
2574 _In_ HRGN hrgn,
2575 _In_ ULONG cjBuffer,
2576 _Out_opt_bytecap_(cjBuffer) LPRGNDATA lpRgnData);
2577
2578 W32KAPI
2579 BOOL
2580 APIENTRY
2581 NtGdiInvertRgn(
2582 _In_ HDC hdc,
2583 _In_ HRGN hrgn);
2584
2585 INT
2586 W32KAPI
2587 APIENTRY
2588 NtGdiAddFontResourceW(
2589 _In_z_count_(cwc) WCHAR *pwszFiles,
2590 _In_ ULONG cwc,
2591 _In_ ULONG cFiles,
2592 _In_ FLONG f,
2593 _In_ DWORD dwPidTid,
2594 _In_opt_ DESIGNVECTOR *pdv);
2595
2596 #if (_WIN32_WINNT >= 0x0500)
2597 W32KAPI
2598 HFONT
2599 APIENTRY
2600 NtGdiHfontCreate(
2601 _In_bytecount_(cjElfw) ENUMLOGFONTEXDVW *pelfw,
2602 _In_ ULONG cjElfw,
2603 _In_ LFTYPE lft,
2604 _In_ FLONG fl,
2605 _In_ PVOID pvCliData);
2606 #else
2607 W32KAPI
2608 HFONT
2609 APIENTRY
2610 NtGdiHfontCreate(
2611 _In_bytecount_(cjElfw) LPEXTLOGFONTW pelfw,
2612 _In_ ULONG cjElfw,
2613 _In_ LFTYPE lft,
2614 _In_ FLONG fl,
2615 _In_ PVOID pvCliData
2616 );
2617 #endif
2618
2619 W32KAPI
2620 ULONG
2621 APIENTRY
2622 NtGdiSetFontEnumeration(
2623 _In_ ULONG ulType);
2624
2625 W32KAPI
2626 BOOL
2627 APIENTRY
2628 NtGdiEnumFontClose(
2629 _In_ ULONG_PTR idEnum);
2630
2631 #if (_WIN32_WINNT >= 0x0500)
2632 W32KAPI
2633 BOOL
2634 APIENTRY
2635 NtGdiEnumFontChunk(
2636 _In_ HDC hdc,
2637 _In_ ULONG_PTR idEnum,
2638 _In_ ULONG cjEfdw,
2639 OUT ULONG *pcjEfdw,
2640 OUT PENUMFONTDATAW pefdw
2641 );
2642 #endif
2643
2644 W32KAPI
2645 ULONG_PTR
2646 APIENTRY
2647 NtGdiEnumFontOpen(
2648 _In_ HDC hdc,
2649 _In_ ULONG iEnumType,
2650 _In_ FLONG flWin31Compat,
2651 _In_ ULONG cwchMax,
2652 IN OPTIONAL LPWSTR pwszFaceName,
2653 _In_ ULONG lfCharSet,
2654 OUT ULONG *pulCount
2655 );
2656
2657 W32KAPI
2658 INT
2659 APIENTRY
2660 NtGdiQueryFonts(
2661 OUT PUNIVERSAL_FONT_ID pufiFontList,
2662 _In_ ULONG nBufferSize,
2663 OUT PLARGE_INTEGER pTimeStamp
2664 );
2665
2666 W32KAPI
2667 BOOL
2668 APIENTRY
2669 NtGdiConsoleTextOut(
2670 _In_ HDC hdc,
2671 _In_ POLYTEXTW *lpto,
2672 _In_ UINT nStrings,
2673 _In_ RECTL *prclBounds);
2674
2675 W32KAPI
2676 NTSTATUS
2677 APIENTRY
2678 NtGdiFullscreenControl(
2679 IN FULLSCREENCONTROL FullscreenCommand,
2680 IN PVOID FullscreenInput,
2681 _In_ DWORD FullscreenInputLength,
2682 OUT PVOID FullscreenOutput,
2683 IN OUT PULONG FullscreenOutputLength
2684 );
2685
2686 W32KAPI
2687 DWORD
2688 APIENTRY
2689 NtGdiGetCharSet(
2690 _In_ HDC hdc);
2691
2692 W32KAPI
2693 BOOL
2694 APIENTRY
2695 NtGdiEnableEudc(
2696 _In_ BOOL b);
2697
2698 W32KAPI
2699 BOOL
2700 APIENTRY
2701 NtGdiEudcLoadUnloadLink(
2702 IN OPTIONAL LPCWSTR pBaseFaceName,
2703 _In_ UINT cwcBaseFaceName,
2704 IN LPCWSTR pEudcFontPath,
2705 _In_ UINT cwcEudcFontPath,
2706 _In_ INT iPriority,
2707 _In_ INT iFontLinkType,
2708 _In_ BOOL bLoadLin
2709 );
2710
2711 W32KAPI
2712 UINT
2713 APIENTRY
2714 NtGdiGetStringBitmapW(
2715 _In_ HDC hdc,
2716 IN LPWSTR pwsz,
2717 _In_ UINT cwc,
2718 OUT BYTE *lpSB,
2719 _In_ UINT cj
2720 );
2721
2722 W32KAPI
2723 ULONG
2724 APIENTRY
2725 NtGdiGetEudcTimeStampEx(
2726 _In_opt_z_count_(cwcBaseFaceName) LPWSTR lpBaseFaceName,
2727 _In_ ULONG cwcBaseFaceName,
2728 _In_ BOOL bSystemTimeStamp);
2729
2730 W32KAPI
2731 ULONG
2732 APIENTRY
2733 NtGdiQueryFontAssocInfo(
2734 _In_ HDC hdc);
2735
2736 #if (_WIN32_WINNT >= 0x0500)
2737 W32KAPI
2738 DWORD
2739 APIENTRY
2740 NtGdiGetFontUnicodeRanges(
2741 _In_ HDC hdc,
2742 _Out_opt_ LPGLYPHSET pgs);
2743 #endif
2744
2745 #ifdef LANGPACK
2746 W32KAPI
2747 BOOL
2748 APIENTRY
2749 NtGdiGetRealizationInfo(
2750 _In_ HDC hdc,
2751 _Out_ PREALIZATION_INFO pri,
2752 _In_ HFONT hf);
2753 #endif
2754
2755 W32KAPI
2756 BOOL
2757 APIENTRY
2758 NtGdiAddRemoteMMInstanceToDC(
2759 _In_ HDC hdc,
2760 _In_ DOWNLOADDESIGNVECTOR *pddv,
2761 _In_ ULONG cjDDV);
2762
2763 W32KAPI
2764 BOOL
2765 APIENTRY
2766 NtGdiUnloadPrinterDriver(
2767 _In_z_bytecount_(cbDriverName) LPWSTR pDriverName,
2768 _In_ ULONG cbDriverName);
2769
2770 W32KAPI
2771 BOOL
2772 APIENTRY
2773 NtGdiEngAssociateSurface(
2774 _In_ HSURF hsurf,
2775 _In_ HDEV hdev,
2776 _In_ FLONG flHooks);
2777
2778 W32KAPI
2779 BOOL
2780 APIENTRY
2781 NtGdiEngEraseSurface(
2782 _In_ SURFOBJ *pso,
2783 _In_ RECTL *prcl,
2784 _In_ ULONG iColor);
2785
2786 W32KAPI
2787 HBITMAP
2788 APIENTRY
2789 NtGdiEngCreateBitmap(
2790 _In_ SIZEL sizl,
2791 _In_ LONG lWidth,
2792 _In_ ULONG iFormat,
2793 _In_ FLONG fl,
2794 _In_opt_ PVOID pvBits);
2795
2796 W32KAPI
2797 BOOL
2798 APIENTRY
2799 NtGdiEngDeleteSurface(
2800 _In_ HSURF hsurf);
2801
2802 W32KAPI
2803 SURFOBJ*
2804 APIENTRY
2805 NtGdiEngLockSurface(
2806 _In_ HSURF hsurf);
2807
2808 W32KAPI
2809 VOID
2810 APIENTRY
2811 NtGdiEngUnlockSurface(
2812 _In_ SURFOBJ *pso);
2813
2814 W32KAPI
2815 BOOL
2816 APIENTRY
2817 NtGdiEngMarkBandingSurface(
2818 _In_ HSURF hsurf);
2819
2820 W32KAPI
2821 HSURF
2822 APIENTRY
2823 NtGdiEngCreateDeviceSurface(
2824 _In_ DHSURF dhsurf,
2825 _In_ SIZEL sizl,
2826 _In_ ULONG iFormatCompat);
2827
2828 W32KAPI
2829 HBITMAP
2830 APIENTRY
2831 NtGdiEngCreateDeviceBitmap(
2832 _In_ DHSURF dhsurf,
2833 _In_ SIZEL sizl,
2834 _In_ ULONG iFormatCompat);
2835
2836 W32KAPI
2837 BOOL
2838 APIENTRY
2839 NtGdiEngCopyBits(
2840 _In_ SURFOBJ *psoDst,
2841 _In_ SURFOBJ *psoSrc,
2842 _In_opt_ CLIPOBJ *pco,
2843 _In_opt_ XLATEOBJ *pxlo,
2844 _In_ RECTL *prclDst,
2845 _In_ POINTL *pptlSrc);
2846
2847 W32KAPI
2848 BOOL
2849 APIENTRY
2850 NtGdiEngStretchBlt(
2851 _In_ SURFOBJ *psoDest,
2852 _In_ SURFOBJ *psoSrc,
2853 _In_opt_ SURFOBJ *psoMask,
2854 _In_opt_ CLIPOBJ *pco,
2855 _In_opt_ XLATEOBJ *pxlo,
2856 _In_opt_ COLORADJUSTMENT *pca,
2857 _In_ POINTL *pptlHTOrg,
2858 _In_ RECTL *prclDest,
2859 _In_ RECTL *prclSrc,
2860 _When_(psoMask, _In_) POINTL *pptlMask,
2861 _In_ ULONG iMode);
2862
2863 W32KAPI
2864 BOOL
2865 APIENTRY
2866 NtGdiEngBitBlt(
2867 _In_ SURFOBJ *psoTrg,
2868 _In_opt_ SURFOBJ *psoSrc,
2869 _In_opt_ SURFOBJ *psoMask,
2870 _In_opt_ CLIPOBJ *pco,
2871 _In_opt_ XLATEOBJ *pxlo,
2872 _In_ RECTL *prclTrg,
2873 _When_(psoSrc, _In_) POINTL *pptlSrc,
2874 _When_(psoMask, _In_) POINTL *pptlMask,
2875 _In_opt_ BRUSHOBJ *pbo,
2876 _When_(pbo, _In_) POINTL *pptlBrush,
2877 _In_ ROP4 rop4);
2878
2879 W32KAPI
2880 BOOL
2881 APIENTRY
2882 NtGdiEngPlgBlt(
2883 _In_ SURFOBJ *psoTrg,
2884 _In_ SURFOBJ *psoSrc,
2885 _In_opt_ SURFOBJ *psoMsk,
2886 _In_ CLIPOBJ *pco,
2887 _In_opt_ XLATEOBJ *pxlo,
2888 _In_ COLORADJUSTMENT *pca,
2889 _In_ POINTL *pptlBrushOrg,
2890 _In_ POINTFIX *pptfx,
2891 _In_ RECTL *prcl,
2892 _When_(psoMsk, _In_) POINTL *pptl,
2893 _In_ ULONG iMode);
2894
2895 W32KAPI
2896 HPALETTE
2897 APIENTRY
2898 NtGdiEngCreatePalette(
2899 _In_ ULONG iMode,
2900 _In_ ULONG cColors,
2901 _In_ ULONG *pulColors,
2902 _In_ FLONG flRed,
2903 _In_ FLONG flGreen,
2904 _In_ FLONG flBlue);
2905
2906 W32KAPI
2907 BOOL
2908 APIENTRY
2909 NtGdiEngDeletePalette(
2910 _In_ HPALETTE hPal);
2911
2912 W32KAPI
2913 BOOL
2914 APIENTRY
2915 NtGdiEngStrokePath(
2916 IN SURFOBJ *pso,
2917 IN PATHOBJ *ppo,
2918 IN CLIPOBJ *pco,
2919 IN XFORMOBJ *pxo,
2920 IN BRUSHOBJ *pbo,
2921 IN POINTL *pptlBrushOrg,
2922 IN LINEATTRS *plineattrs,
2923 IN MIX mix
2924 );
2925
2926 W32KAPI
2927 BOOL
2928 APIENTRY
2929 NtGdiEngFillPath(
2930 IN SURFOBJ *pso,
2931 IN PATHOBJ *ppo,
2932 IN CLIPOBJ *pco,
2933 IN BRUSHOBJ *pbo,
2934 IN POINTL *pptlBrushOrg,
2935 IN MIX mix,
2936 IN FLONG flOptions
2937 );
2938
2939 W32KAPI
2940 BOOL
2941 APIENTRY
2942 NtGdiEngStrokeAndFillPath(
2943 IN SURFOBJ *pso,
2944 IN PATHOBJ *ppo,
2945 IN CLIPOBJ *pco,IN XFORMOBJ *pxo,
2946 IN BRUSHOBJ *pboStroke,
2947 IN LINEATTRS *plineattrs,
2948 IN BRUSHOBJ *pboFill,
2949 IN POINTL *pptlBrushOrg,
2950 IN MIX mix,
2951 IN FLONG flOptions
2952 );
2953
2954 W32KAPI
2955 BOOL
2956 APIENTRY
2957 NtGdiEngPaint(
2958 IN SURFOBJ *pso,
2959 IN CLIPOBJ *pco,
2960 IN BRUSHOBJ *pbo,
2961 IN POINTL *pptlBrushOrg,
2962 IN MIX mix
2963 );
2964
2965 W32KAPI
2966 BOOL
2967 APIENTRY
2968 NtGdiEngLineTo(
2969 IN SURFOBJ *pso,
2970 IN CLIPOBJ *pco,
2971 IN BRUSHOBJ *pbo,
2972 _In_ LONG x1,
2973 _In_ LONG y1,
2974 _In_ LONG x2,
2975 _In_ LONG y2,
2976 IN RECTL *prclBounds,
2977 IN MIX mix
2978 );
2979
2980 W32KAPI
2981 BOOL
2982 APIENTRY
2983 NtGdiEngAlphaBlend(
2984 IN SURFOBJ *psoDest,
2985 IN SURFOBJ *psoSrc,
2986 IN CLIPOBJ *pco,
2987 IN XLATEOBJ *pxlo,
2988 IN RECTL *prclDest,
2989 IN RECTL *prclSrc,
2990 IN BLENDOBJ *pBlendObj
2991 );
2992
2993 W32KAPI
2994 BOOL
2995 APIENTRY
2996 NtGdiEngGradientFill(
2997 IN SURFOBJ *psoDest,
2998 IN CLIPOBJ *pco,
2999 IN XLATEOBJ *pxlo,
3000 IN TRIVERTEX *pVertex,
3001 _In_ ULONG nVertex,
3002 IN PVOID pMesh,
3003 _In_ ULONG nMesh,
3004 IN RECTL *prclExtents,
3005 IN POINTL *pptlDitherOrg,
3006 _In_ ULONG ulMode
3007 );
3008
3009 W32KAPI
3010 BOOL
3011 APIENTRY
3012 NtGdiEngTransparentBlt(
3013 IN SURFOBJ *psoDst,
3014 IN SURFOBJ *psoSrc,
3015 IN CLIPOBJ *pco,
3016 IN XLATEOBJ *pxlo,
3017 IN RECTL *prclDst,
3018 IN RECTL *prclSrc,
3019 _In_ ULONG iTransColor,
3020 _In_ ULONG ulReserved
3021 );
3022
3023 W32KAPI
3024 BOOL
3025 APIENTRY
3026 NtGdiEngTextOut(
3027 IN SURFOBJ *pso,
3028 IN STROBJ *pstro,
3029 IN FONTOBJ *pfo,
3030 IN CLIPOBJ *pco,
3031 IN RECTL *prclExtra,
3032 IN RECTL *prclOpaque,
3033 IN BRUSHOBJ *pboFore,
3034 IN BRUSHOBJ *pboOpaque,
3035 IN POINTL *pptlOrg,
3036 IN MIX mix
3037 );
3038
3039 W32KAPI
3040 BOOL
3041 APIENTRY
3042 NtGdiEngStretchBltROP(
3043 IN SURFOBJ *psoTrg,
3044 IN SURFOBJ *psoSrc,
3045 IN SURFOBJ *psoMask,
3046 IN CLIPOBJ *pco,
3047 IN XLATEOBJ *pxlo,
3048 IN COLORADJUSTMENT *pca,
3049 IN POINTL *pptlBrushOrg,
3050 IN RECTL *prclTrg,
3051 IN RECTL *prclSrc,
3052 IN POINTL *pptlMask,
3053 _In_ ULONG iMode,
3054 IN BRUSHOBJ *pbo,
3055 IN ROP4 rop4
3056 );
3057
3058 W32KAPI
3059 ULONG
3060 APIENTRY
3061 NtGdiXLATEOBJ_cGetPalette(
3062 IN XLATEOBJ *pxlo,
3063 _In_ ULONG iPal,
3064 _In_ ULONG cPal,
3065 OUT ULONG *pPal
3066 );
3067
3068 W32KAPI
3069 ULONG
3070 APIENTRY
3071 NtGdiCLIPOBJ_cEnumStart(
3072 IN CLIPOBJ *pco,
3073 _In_ BOOL bAll,
3074 _In_ ULONG iType,
3075 _In_ ULONG iDirection,
3076 _In_ ULONG cLimit
3077 );
3078
3079 W32KAPI
3080 BOOL
3081 APIENTRY
3082 NtGdiCLIPOBJ_bEnum(
3083 IN CLIPOBJ *pco,
3084 _In_ ULONG cj,
3085 OUT ULONG *pul
3086 );
3087
3088 W32KAPI
3089 PATHOBJ*
3090 APIENTRY
3091 NtGdiCLIPOBJ_ppoGetPath(
3092 IN CLIPOBJ *pco
3093 );
3094
3095 W32KAPI
3096 CLIPOBJ*
3097 APIENTRY
3098 NtGdiEngCreateClip(VOID);
3099
3100 W32KAPI
3101 VOID
3102 APIENTRY
3103 NtGdiEngDeleteClip(
3104 IN CLIPOBJ*pco
3105 );
3106
3107 W32KAPI
3108 PVOID
3109 APIENTRY
3110 NtGdiBRUSHOBJ_pvAllocRbrush(
3111 IN BRUSHOBJ *pbo,
3112 _In_ ULONG cj
3113 );
3114
3115 W32KAPI
3116 PVOID
3117 APIENTRY
3118 NtGdiBRUSHOBJ_pvGetRbrush(
3119 IN BRUSHOBJ *pbo
3120 );
3121
3122 W32KAPI
3123 ULONG
3124 APIENTRY
3125 NtGdiBRUSHOBJ_ulGetBrushColor(
3126 IN BRUSHOBJ *pbo
3127 );
3128
3129 W32KAPI
3130 HANDLE
3131 APIENTRY
3132 NtGdiBRUSHOBJ_hGetColorTransform(
3133 IN BRUSHOBJ *pbo
3134 );
3135
3136 W32KAPI
3137 BOOL
3138 APIENTRY
3139 NtGdiXFORMOBJ_bApplyXform(
3140 IN XFORMOBJ *pxo,
3141 _In_ ULONG iMode,
3142 _In_ ULONG cPoints,
3143 IN PVOID pvIn,
3144 OUT PVOID pvOut
3145 );
3146
3147 W32KAPI
3148 ULONG
3149 APIENTRY
3150 NtGdiXFORMOBJ_iGetXform(
3151 IN XFORMOBJ *pxo,
3152 OUT OPTIONAL XFORML *pxform
3153 );
3154
3155 W32KAPI
3156 VOID
3157 APIENTRY
3158 NtGdiFONTOBJ_vGetInfo(
3159 IN FONTOBJ *pfo,
3160 _In_ ULONG cjSize,
3161 OUT FONTINFO *pfi
3162 );
3163
3164 W32KAPI
3165 ULONG
3166 APIENTRY
3167 NtGdiFONTOBJ_cGetGlyphs(
3168 IN FONTOBJ *pfo,
3169 _In_ ULONG iMode,
3170 _In_ ULONG cGlyph,
3171 IN HGLYPH *phg,
3172 OUT PVOID *ppvGlyph
3173 );
3174
3175 W32KAPI
3176 XFORMOBJ*
3177 APIENTRY
3178 NtGdiFONTOBJ_pxoGetXform(
3179 IN FONTOBJ *pfo
3180 );
3181
3182 W32KAPI
3183 IFIMETRICS*
3184 APIENTRY
3185 NtGdiFONTOBJ_pifi(
3186 IN FONTOBJ *pfo
3187 );
3188
3189 W32KAPI
3190 FD_GLYPHSET*
3191 APIENTRY
3192 NtGdiFONTOBJ_pfdg(
3193 IN FONTOBJ *pfo
3194 );
3195
3196 W32KAPI
3197 ULONG
3198 APIENTRY
3199 NtGdiFONTOBJ_cGetAllGlyphHandles(
3200 IN FONTOBJ *pfo,
3201 OUT OPTIONAL HGLYPH *phg
3202 );
3203
3204 W32KAPI
3205 PVOID
3206 APIENTRY
3207 NtGdiFONTOBJ_pvTrueTypeFontFile(
3208 IN FONTOBJ *pfo,
3209 OUT ULONG *pcjFile
3210 );
3211
3212 W32KAPI
3213 PFD_GLYPHATTR
3214 APIENTRY
3215 NtGdiFONTOBJ_pQueryGlyphAttrs(
3216 IN FONTOBJ *pfo,
3217 _In_ ULONG iMode
3218 );
3219
3220 W32KAPI
3221 BOOL
3222 APIENTRY
3223 NtGdiSTROBJ_bEnum(
3224 IN STROBJ *pstro,
3225 OUT ULONG *pc,
3226 OUT PGLYPHPOS *ppgpos
3227 );
3228
3229 W32KAPI
3230 BOOL
3231 APIENTRY
3232 NtGdiSTROBJ_bEnumPositionsOnly(
3233 IN STROBJ *pstro,
3234 OUT ULONG *pc,
3235 OUT PGLYPHPOS *ppgpos
3236 );
3237
3238 W32KAPI
3239 VOID
3240 APIENTRY
3241 NtGdiSTROBJ_vEnumStart(
3242 _Inout_ STROBJ *pstro);
3243
3244 W32KAPI
3245 DWORD
3246 APIENTRY
3247 NtGdiSTROBJ_dwGetCodePage(
3248 IN STROBJ *pstro
3249 );
3250
3251 W32KAPI
3252 BOOL
3253 APIENTRY
3254 NtGdiSTROBJ_bGetAdvanceWidths(
3255 IN STROBJ*pstro,
3256 _In_ ULONG iFirst,
3257 _In_ ULONG c,
3258 OUT POINTQF*pptqD
3259 );
3260
3261 W32KAPI
3262 FD_GLYPHSET*
3263 APIENTRY
3264 NtGdiEngComputeGlyphSet(
3265 _In_ INT nCodePage,
3266 _In_ INT nFirstChar,
3267 _In_ INT cChars
3268 );
3269
3270 W32KAPI
3271 ULONG
3272 APIENTRY
3273 NtGdiXLATEOBJ_iXlate(
3274 IN XLATEOBJ *pxlo,
3275 _In_ ULONG iColor
3276 );
3277
3278 W32KAPI
3279 HANDLE
3280 APIENTRY
3281 NtGdiXLATEOBJ_hGetColorTransform(
3282 IN XLATEOBJ *pxlo
3283 );
3284
3285 W32KAPI
3286 VOID
3287 APIENTRY
3288 NtGdiPATHOBJ_vGetBounds(
3289 IN PATHOBJ *ppo,
3290 OUT PRECTFX prectfx
3291 );
3292
3293 W32KAPI
3294 BOOL
3295 APIENTRY
3296 NtGdiPATHOBJ_bEnum(
3297 IN PATHOBJ *ppo,
3298 OUT PATHDATA *ppd
3299 );
3300
3301 W32KAPI
3302 VOID
3303 APIENTRY
3304 NtGdiPATHOBJ_vEnumStart(
3305 IN PATHOBJ *ppo
3306 );
3307
3308 W32KAPI
3309 VOID
3310 APIENTRY
3311 NtGdiEngDeletePath(
3312 IN PATHOBJ *ppo
3313 );
3314
3315 W32KAPI
3316 VOID
3317 APIENTRY
3318 NtGdiPATHOBJ_vEnumStartClipLines(
3319 IN PATHOBJ *ppo,
3320 IN CLIPOBJ *pco,
3321 IN SURFOBJ *pso,
3322 IN LINEATTRS *pla
3323 );
3324
3325 W32KAPI
3326 BOOL
3327 APIENTRY
3328 NtGdiPATHOBJ_bEnumClipLines(
3329 IN PATHOBJ *ppo,
3330 _In_ ULONG cb,
3331 OUT CLIPLINE *pcl
3332 );
3333
3334 W32KAPI
3335 BOOL
3336 APIENTRY
3337 NtGdiEngCheckAbort(
3338 IN SURFOBJ *pso
3339 );
3340
3341 W32KAPI
3342 DHPDEV
3343 APIENTRY
3344 NtGdiGetDhpdev(
3345 IN HDEV hdev
3346 );
3347
3348 W32KAPI
3349 LONG
3350 APIENTRY
3351 NtGdiHT_Get8BPPFormatPalette(
3352 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
3353 IN USHORT RedGamma,
3354 IN USHORT GreenGamma,
3355 IN USHORT BlueGamma
3356 );
3357
3358 W32KAPI
3359 LONG
3360 APIENTRY
3361 NtGdiHT_Get8BPPMaskPalette(
3362 OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
3363 _In_ BOOL Use8BPPMaskPal,
3364 IN BYTE CMYMask,
3365 IN USHORT RedGamma,
3366 IN USHORT GreenGamma,
3367 IN USHORT BlueGamma
3368 );
3369
3370 W32KAPI
3371 BOOL
3372 APIENTRY
3373 NtGdiUpdateTransform(
3374 _In_ HDC hdc
3375 );
3376
3377 W32KAPI
3378 DWORD
3379 APIENTRY
3380 NtGdiSetLayout(
3381 _In_ HDC hdc,
3382 _In_ LONG wox,
3383 _In_ DWORD dwLayout
3384 );
3385
3386 W32KAPI
3387 BOOL
3388 APIENTRY
3389 NtGdiMirrorWindowOrg(
3390 _In_ HDC hdc
3391 );
3392
3393 W32KAPI
3394 LONG
3395 APIENTRY
3396 NtGdiGetDeviceWidth(
3397 _In_ HDC hdc
3398 );
3399
3400 W32KAPI
3401 BOOL
3402 APIENTRY
3403 NtGdiSetPUMPDOBJ(
3404 IN HUMPD humpd,
3405 _In_ BOOL bStoreID,
3406 OUT HUMPD *phumpd,
3407 OUT BOOL *pbWOW64
3408 );
3409
3410 W32KAPI
3411 BOOL
3412 APIENTRY
3413 NtGdiBRUSHOBJ_DeleteRbrush(
3414 IN BRUSHOBJ *pbo,
3415 IN BRUSHOBJ *pboB
3416 );
3417
3418 W32KAPI
3419 BOOL
3420 APIENTRY
3421 NtGdiUMPDEngFreeUserMem(
3422 IN KERNEL_PVOID *ppv
3423 );
3424
3425 W32KAPI
3426 HBITMAP
3427 APIENTRY
3428 NtGdiSetBitmapAttributes(
3429 IN HBITMAP hbm,
3430 _In_ DWORD dwFlags
3431 );
3432
3433 W32KAPI
3434 HBITMAP
3435 APIENTRY
3436 NtGdiClearBitmapAttributes(
3437 IN HBITMAP hbm,
3438 _In_ DWORD dwFlags
3439 );
3440
3441 W32KAPI
3442 HBRUSH
3443 APIENTRY
3444 NtGdiSetBrushAttributes(
3445 _In_ HBRUSH hbm,
3446 _In_ DWORD dwFlags
3447 );
3448
3449 W32KAPI
3450 HBRUSH
3451 APIENTRY
3452 NtGdiClearBrushAttributes(
3453 _In_ HBRUSH hbm,
3454 _In_ DWORD dwFlags
3455 );
3456
3457 W32KAPI
3458 BOOL
3459 APIENTRY
3460 NtGdiDrawStream(
3461 _In_ HDC hdcDst,
3462 _In_ ULONG cjIn,
3463 IN VOID *pvIn
3464 );
3465
3466 W32KAPI
3467 BOOL
3468 APIENTRY
3469 NtGdiMakeObjectXferable(
3470 _In_ HANDLE h,
3471 _In_ DWORD dwProcessId
3472 );
3473
3474 W32KAPI
3475 BOOL
3476 APIENTRY
3477 NtGdiMakeObjectUnXferable(
3478 _In_ HANDLE h
3479 );
3480
3481 W32KAPI
3482 BOOL
3483 APIENTRY
3484 NtGdiInitSpool(VOID);
3485
3486 /* FIXME wrong prototypes fix the build */
3487 W32KAPI
3488 INT
3489 APIENTRY
3490 NtGdiGetSpoolMessage( DWORD u1,
3491 DWORD u2,
3492 DWORD u3,
3493 DWORD u4);
3494 #endif