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