[PSDK] Update unknwn.idl. CORE-13762
[reactos.git] / 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 NtGdiDdDDICreateDCFromMemory(
924 _Inout_ D3DKMT_CREATEDCFROMMEMORY *desc);
925
926 __kernel_entry
927 W32KAPI
928 DWORD
929 APIENTRY
930 NtGdiDdDDIDestroyDCFromMemory(
931 _In_ CONST D3DKMT_DESTROYDCFROMMEMORY *desc);
932
933 __kernel_entry
934 W32KAPI
935 DWORD
936 APIENTRY
937 NtGdiDvpCanCreateVideoPort(
938 _In_ HANDLE hDirectDraw,
939 _Inout_ PDD_CANCREATEVPORTDATA puCanCreateVPortData);
940
941 __kernel_entry
942 W32KAPI
943 DWORD
944 APIENTRY
945 NtGdiDvpColorControl(
946 _In_ HANDLE hVideoPort,
947 _Inout_ PDD_VPORTCOLORDATA puVPortColorData);
948
949 __kernel_entry
950 W32KAPI
951 HANDLE
952 APIENTRY
953 NtGdiDvpCreateVideoPort(
954 _In_ HANDLE hDirectDraw,
955 _Inout_ PDD_CREATEVPORTDATA puCreateVPortData);
956
957 __kernel_entry
958 W32KAPI
959 DWORD
960 APIENTRY
961 NtGdiDvpDestroyVideoPort(
962 _In_ HANDLE hVideoPort,
963 _Inout_ PDD_DESTROYVPORTDATA puDestroyVPortData);
964
965 __kernel_entry
966 W32KAPI
967 DWORD
968 APIENTRY
969 NtGdiDvpFlipVideoPort(
970 _In_ HANDLE hVideoPort,
971 _In_ HANDLE hDDSurfaceCurrent,
972 _In_ HANDLE hDDSurfaceTarget,
973 _Inout_ PDD_FLIPVPORTDATA puFlipVPortData);
974
975 __kernel_entry
976 W32KAPI
977 DWORD
978 APIENTRY
979 NtGdiDvpGetVideoPortBandwidth(
980 _In_ HANDLE hVideoPort,
981 _Inout_ PDD_GETVPORTBANDWIDTHDATA puGetVPortBandwidthData);
982
983 __kernel_entry
984 W32KAPI
985 DWORD
986 APIENTRY
987 NtGdiDvpGetVideoPortField(
988 _In_ HANDLE hVideoPort,
989 _Inout_ PDD_GETVPORTFIELDDATA puGetVPortFieldData);
990
991 __kernel_entry
992 W32KAPI
993 DWORD
994 APIENTRY
995 NtGdiDvpGetVideoPortFlipStatus(
996 _In_ HANDLE hDirectDraw,
997 _Inout_ PDD_GETVPORTFLIPSTATUSDATA puGetVPortFlipStatusData);
998
999 __kernel_entry
1000 W32KAPI
1001 DWORD
1002 APIENTRY
1003 NtGdiDvpGetVideoPortInputFormats(
1004 _In_ HANDLE hVideoPort,
1005 _Inout_ PDD_GETVPORTINPUTFORMATDATA puGetVPortInputFormatData);
1006
1007 __kernel_entry
1008 W32KAPI
1009 DWORD
1010 APIENTRY
1011 NtGdiDvpGetVideoPortLine(
1012 _In_ HANDLE hVideoPort,
1013 _Inout_ PDD_GETVPORTLINEDATA puGetVPortLineData);
1014
1015 __kernel_entry
1016 W32KAPI
1017 DWORD
1018 APIENTRY
1019 NtGdiDvpGetVideoPortOutputFormats(
1020 _In_ HANDLE hVideoPort,
1021 _Inout_ PDD_GETVPORTOUTPUTFORMATDATA puGetVPortOutputFormatData);
1022
1023 __kernel_entry
1024 W32KAPI
1025 DWORD
1026 APIENTRY
1027 NtGdiDvpGetVideoPortConnectInfo(
1028 _In_ HANDLE hDirectDraw,
1029 _Inout_ PDD_GETVPORTCONNECTDATA puGetVPortConnectData);
1030
1031 __kernel_entry
1032 W32KAPI
1033 DWORD
1034 APIENTRY
1035 NtGdiDvpGetVideoSignalStatus(
1036 _In_ HANDLE hVideoPort,
1037 _Inout_ PDD_GETVPORTSIGNALDATA puGetVPortSignalData);
1038
1039 __kernel_entry
1040 W32KAPI
1041 DWORD
1042 APIENTRY
1043 NtGdiDvpUpdateVideoPort(
1044 _In_ HANDLE hVideoPort,
1045 _In_ HANDLE* phSurfaceVideo,
1046 _In_ HANDLE* phSurfaceVbi,
1047 _Inout_ PDD_UPDATEVPORTDATA puUpdateVPortData);
1048
1049 __kernel_entry
1050 W32KAPI
1051 DWORD
1052 APIENTRY
1053 NtGdiDvpWaitForVideoPortSync(
1054 _In_ HANDLE hVideoPort,
1055 _Inout_ PDD_WAITFORVPORTSYNCDATA puWaitForVPortSyncData);
1056
1057 __kernel_entry
1058 W32KAPI
1059 DWORD
1060 APIENTRY
1061 NtGdiDvpAcquireNotification(
1062 _In_ HANDLE hVideoPort,
1063 _Inout_ HANDLE* hEvent,
1064 _In_ LPDDVIDEOPORTNOTIFY pNotify);
1065
1066 __kernel_entry
1067 W32KAPI
1068 DWORD
1069 APIENTRY
1070 NtGdiDvpReleaseNotification(
1071 _In_ HANDLE hVideoPort,
1072 _In_ HANDLE hEvent);
1073
1074 __kernel_entry
1075 W32KAPI
1076 DWORD
1077 APIENTRY
1078 NtGdiDdGetMoCompGuids(
1079 _In_ HANDLE hDirectDraw,
1080 _Inout_ PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData);
1081
1082 __kernel_entry
1083 W32KAPI
1084 DWORD
1085 APIENTRY
1086 NtGdiDdGetMoCompFormats(
1087 _In_ HANDLE hDirectDraw,
1088 _Inout_ PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData);
1089
1090 __kernel_entry
1091 W32KAPI
1092 DWORD
1093 APIENTRY
1094 NtGdiDdGetMoCompBuffInfo(
1095 _In_ HANDLE hDirectDraw,
1096 _Inout_ PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData);
1097
1098 __kernel_entry
1099 W32KAPI
1100 DWORD
1101 APIENTRY
1102 NtGdiDdGetInternalMoCompInfo(
1103 _In_ HANDLE hDirectDraw,
1104 _Inout_ PDD_GETINTERNALMOCOMPDATA puGetInternalData);
1105
1106 __kernel_entry
1107 W32KAPI
1108 HANDLE
1109 APIENTRY
1110 NtGdiDdCreateMoComp(
1111 _In_ HANDLE hDirectDraw,
1112 _Inout_ PDD_CREATEMOCOMPDATA puCreateMoCompData);
1113
1114 __kernel_entry
1115 W32KAPI
1116 DWORD
1117 APIENTRY
1118 NtGdiDdDestroyMoComp(
1119 _In_ HANDLE hMoComp,
1120 _Inout_ PDD_DESTROYMOCOMPDATA puDestroyMoCompData);
1121
1122 __kernel_entry
1123 W32KAPI
1124 DWORD
1125 APIENTRY
1126 NtGdiDdBeginMoCompFrame(
1127 _In_ HANDLE hMoComp,
1128 _Inout_ PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData);
1129
1130 __kernel_entry
1131 W32KAPI
1132 DWORD
1133 APIENTRY
1134 NtGdiDdEndMoCompFrame(
1135 _In_ HANDLE hMoComp,
1136 _Inout_ PDD_ENDMOCOMPFRAMEDATA puEndFrameData);
1137
1138 __kernel_entry
1139 W32KAPI
1140 DWORD
1141 APIENTRY
1142 NtGdiDdRenderMoComp(
1143 _In_ HANDLE hMoComp,
1144 _Inout_ PDD_RENDERMOCOMPDATA puRenderMoCompData);
1145
1146 __kernel_entry
1147 W32KAPI
1148 DWORD
1149 APIENTRY
1150 NtGdiDdQueryMoCompStatus(
1151 _In_ HANDLE hMoComp,
1152 _Inout_ PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData);
1153
1154 __kernel_entry
1155 W32KAPI
1156 DWORD
1157 APIENTRY
1158 NtGdiDdAlphaBlt(
1159 _In_ HANDLE hSurfaceDest,
1160 _In_opt_ HANDLE hSurfaceSrc,
1161 _Inout_ PDD_BLTDATA puBltData);
1162
1163 __kernel_entry
1164 W32KAPI
1165 BOOL
1166 APIENTRY
1167 NtGdiAlphaBlend(
1168 _In_ HDC hdcDst,
1169 _In_ LONG DstX,
1170 _In_ LONG DstY,
1171 _In_ LONG DstCx,
1172 _In_ LONG DstCy,
1173 _In_ HDC hdcSrc,
1174 _In_ LONG SrcX,
1175 _In_ LONG SrcY,
1176 _In_ LONG SrcCx,
1177 _In_ LONG SrcCy,
1178 _In_ BLENDFUNCTION BlendFunction,
1179 _In_ HANDLE hcmXform);
1180
1181 __kernel_entry
1182 W32KAPI
1183 BOOL
1184 APIENTRY
1185 NtGdiGradientFill(
1186 _In_ HDC hdc,
1187 _In_ PTRIVERTEX pVertex,
1188 _In_ ULONG nVertex,
1189 _In_ PVOID pMesh,
1190 _In_ ULONG nMesh,
1191 _In_ ULONG ulMode);
1192
1193 __kernel_entry
1194 W32KAPI
1195 BOOL
1196 APIENTRY
1197 NtGdiSetIcmMode(
1198 _In_ HDC hdc,
1199 _In_ ULONG nCommand,
1200 _In_ ULONG ulMode);
1201
1202 __kernel_entry
1203 W32KAPI
1204 HANDLE
1205 APIENTRY
1206 NtGdiCreateColorSpace(
1207 _In_ PLOGCOLORSPACEEXW pLogColorSpace);
1208
1209 __kernel_entry
1210 W32KAPI
1211 BOOL
1212 APIENTRY
1213 NtGdiDeleteColorSpace(
1214 _In_ HANDLE hColorSpace);
1215
1216 __kernel_entry
1217 W32KAPI
1218 BOOL
1219 APIENTRY
1220 NtGdiSetColorSpace(
1221 _In_ HDC hdc,
1222 _In_ HCOLORSPACE hColorSpace);
1223
1224 __kernel_entry
1225 W32KAPI
1226 HANDLE
1227 APIENTRY
1228 NtGdiCreateColorTransform(
1229 _In_ HDC hdc,
1230 _In_ LPLOGCOLORSPACEW pLogColorSpaceW,
1231 _In_reads_bytes_opt_(cjSrcProfile) PVOID pvSrcProfile,
1232 _In_ ULONG cjSrcProfile,
1233 _In_reads_bytes_opt_(cjDestProfile) PVOID pvDestProfile,
1234 _In_ ULONG cjDestProfile,
1235 _In_reads_bytes_opt_(cjTargetProfile) PVOID pvTargetProfile,
1236 _In_ ULONG cjTargetProfile);
1237
1238 __kernel_entry
1239 W32KAPI
1240 BOOL
1241 APIENTRY
1242 NtGdiDeleteColorTransform(
1243 _In_ HDC hdc,
1244 _In_ HANDLE hColorTransform);
1245
1246 __kernel_entry
1247 W32KAPI
1248 BOOL
1249 APIENTRY
1250 NtGdiCheckBitmapBits(
1251 _In_ HDC hdc,
1252 _In_ HANDLE hColorTransform,
1253 _In_reads_bytes_(dwStride * dwHeight) PVOID pvBits,
1254 _In_ ULONG bmFormat,
1255 _In_ DWORD dwWidth,
1256 _In_ DWORD dwHeight,
1257 _In_ DWORD dwStride,
1258 _Out_writes_bytes_(dwWidth * dwHeight) PBYTE paResults);
1259
1260 __kernel_entry
1261 W32KAPI
1262 ULONG
1263 APIENTRY
1264 NtGdiColorCorrectPalette(
1265 _In_ HDC hdc,
1266 _In_ HPALETTE hpal,
1267 _In_ ULONG uFirstEntry,
1268 _In_ ULONG cPalEntries,
1269 _Inout_updates_(cPalEntries) PALETTEENTRY *ppalEntry,
1270 _In_ ULONG uCommand);
1271
1272 __kernel_entry
1273 W32KAPI
1274 ULONG_PTR
1275 APIENTRY
1276 NtGdiGetColorSpaceforBitmap(
1277 _In_ HBITMAP hsurf);
1278
1279 _Success_(return!=FALSE)
1280 __kernel_entry
1281 W32KAPI
1282 BOOL
1283 APIENTRY
1284 NtGdiGetDeviceGammaRamp(
1285 _In_ HDC hdc,
1286 _Out_writes_bytes_(sizeof(GAMMARAMP)) LPVOID lpGammaRamp);
1287
1288 __kernel_entry
1289 W32KAPI
1290 BOOL
1291 APIENTRY
1292 NtGdiSetDeviceGammaRamp(
1293 _In_ HDC hdc,
1294 _In_reads_bytes_(sizeof(GAMMARAMP)) LPVOID lpGammaRamp);
1295
1296 __kernel_entry
1297 W32KAPI
1298 BOOL
1299 APIENTRY
1300 NtGdiIcmBrushInfo(
1301 _In_ HDC hdc,
1302 _In_ HBRUSH hbrush,
1303 _Inout_updates_bytes_(sizeof(BITMAPINFO) + ((/*MAX_COLORTABLE*/256 - 1) * sizeof(RGBQUAD))) PBITMAPINFO pbmiDIB,
1304 _Inout_updates_bytes_(*pulBits) PVOID pvBits,
1305 _Inout_ ULONG *pulBits,
1306 _Out_opt_ DWORD *piUsage,
1307 _Out_opt_ BOOL *pbAlreadyTran,
1308 _In_ ULONG Command);
1309
1310 __kernel_entry
1311 W32KAPI
1312 NTSTATUS
1313 APIENTRY
1314 NtGdiFlush(
1315 VOID);
1316
1317 __kernel_entry
1318 W32KAPI
1319 HDC
1320 APIENTRY
1321 NtGdiCreateMetafileDC(
1322 _In_ HDC hdc);
1323
1324 __kernel_entry
1325 W32KAPI
1326 BOOL
1327 APIENTRY
1328 NtGdiMakeInfoDC(
1329 _In_ HDC hdc,
1330 _In_ BOOL bSet);
1331
1332 __kernel_entry
1333 W32KAPI
1334 HANDLE
1335 APIENTRY
1336 NtGdiCreateClientObj(
1337 _In_ ULONG ulType);
1338
1339 __kernel_entry
1340 W32KAPI
1341 BOOL
1342 APIENTRY
1343 NtGdiDeleteClientObj(
1344 _In_ HANDLE h);
1345
1346 __kernel_entry
1347 W32KAPI
1348 LONG
1349 APIENTRY
1350 NtGdiGetBitmapBits(
1351 _In_ HBITMAP hbm,
1352 _In_ ULONG cjMax,
1353 _Out_writes_bytes_opt_(cjMax) PBYTE pjOut);
1354
1355 __kernel_entry
1356 W32KAPI
1357 BOOL
1358 APIENTRY
1359 NtGdiDeleteObjectApp(
1360 _In_ HANDLE hobj);
1361
1362 __kernel_entry
1363 W32KAPI
1364 INT
1365 APIENTRY
1366 NtGdiGetPath(
1367 _In_ HDC hdc,
1368 _Out_writes_opt_(cptBuf) LPPOINT pptlBuf,
1369 _Out_writes_opt_(cptBuf) LPBYTE pjTypes,
1370 _In_ INT cptBuf);
1371
1372 __kernel_entry
1373 W32KAPI
1374 HDC
1375 APIENTRY
1376 NtGdiCreateCompatibleDC(
1377 _In_opt_ HDC hdc);
1378
1379 __kernel_entry
1380 W32KAPI
1381 HBITMAP
1382 APIENTRY
1383 NtGdiCreateDIBitmapInternal(
1384 _In_ HDC hdc,
1385 _In_ INT cx,
1386 _In_ INT cy,
1387 _In_ DWORD fInit,
1388 _In_reads_bytes_opt_(cjMaxBits) LPBYTE pjInit,
1389 _In_reads_bytes_opt_(cjMaxInitInfo) LPBITMAPINFO pbmi,
1390 _In_ DWORD iUsage,
1391 _In_ UINT cjMaxInitInfo,
1392 _In_ UINT cjMaxBits,
1393 _In_ FLONG f,
1394 _In_ HANDLE hcmXform);
1395
1396 __kernel_entry
1397 W32KAPI
1398 HBITMAP
1399 APIENTRY
1400 NtGdiCreateDIBSection(
1401 _In_ HDC hdc,
1402 _In_opt_ HANDLE hSectionApp,
1403 _In_ DWORD dwOffset,
1404 _In_reads_bytes_opt_(cjHeader) LPBITMAPINFO pbmi,
1405 _In_ DWORD iUsage,
1406 _In_ UINT cjHeader,
1407 _In_ FLONG fl,
1408 _In_ ULONG_PTR dwColorSpace,
1409 _Outptr_ PVOID *ppvBits);
1410
1411 __kernel_entry
1412 W32KAPI
1413 HBRUSH
1414 APIENTRY
1415 NtGdiCreateSolidBrush(
1416 _In_ COLORREF cr,
1417 _In_opt_ HBRUSH hbr);
1418
1419 __kernel_entry
1420 W32KAPI
1421 HBRUSH
1422 APIENTRY
1423 NtGdiCreateDIBBrush(
1424 _In_reads_bytes_(cj) PVOID pv,
1425 _In_ FLONG fl,
1426 _In_ UINT cj,
1427 _In_ BOOL b8X8,
1428 _In_ BOOL bPen,
1429 _In_ PVOID pClient);
1430
1431 __kernel_entry
1432 W32KAPI
1433 HBRUSH
1434 APIENTRY
1435 NtGdiCreatePatternBrushInternal(
1436 _In_ HBITMAP hbm,
1437 _In_ BOOL bPen,
1438 _In_ BOOL b8X8);
1439
1440 __kernel_entry
1441 W32KAPI
1442 HBRUSH
1443 APIENTRY
1444 NtGdiCreateHatchBrushInternal(
1445 _In_ ULONG ulStyle,
1446 _In_ COLORREF clrr,
1447 _In_ BOOL bPen);
1448
1449 __kernel_entry
1450 W32KAPI
1451 HPEN
1452 APIENTRY
1453 NtGdiExtCreatePen(
1454 _In_ ULONG flPenStyle,
1455 _In_ ULONG ulWidth,
1456 _In_ ULONG iBrushStyle,
1457 _In_ ULONG ulColor,
1458 _In_ ULONG_PTR lClientHatch,
1459 _In_ ULONG_PTR lHatch,
1460 _In_ ULONG cstyle,
1461 _In_reads_opt_(cstyle) PULONG pulStyle,
1462 _In_ ULONG cjDIB,
1463 _In_ BOOL bOldStylePen,
1464 _In_opt_ HBRUSH hbrush);
1465
1466 __kernel_entry
1467 W32KAPI
1468 HRGN
1469 APIENTRY
1470 NtGdiCreateEllipticRgn(
1471 _In_ INT xLeft,
1472 _In_ INT yTop,
1473 _In_ INT xRight,
1474 _In_ INT yBottom);
1475
1476 __kernel_entry
1477 W32KAPI
1478 HRGN
1479 APIENTRY
1480 NtGdiCreateRoundRectRgn(
1481 _In_ INT xLeft,
1482 _In_ INT yTop,
1483 _In_ INT xRight,
1484 _In_ INT yBottom,
1485 _In_ INT xWidth,
1486 _In_ INT yHeight);
1487
1488 __kernel_entry
1489 W32KAPI
1490 HANDLE
1491 APIENTRY
1492 NtGdiCreateServerMetaFile(
1493 _In_ DWORD iType,
1494 _In_ ULONG cjData,
1495 _In_reads_bytes_(cjData) LPBYTE pjData,
1496 _In_ DWORD mm,
1497 _In_ DWORD xExt,
1498 _In_ DWORD yExt);
1499
1500 __kernel_entry
1501 W32KAPI
1502 HRGN
1503 APIENTRY
1504 NtGdiExtCreateRegion(
1505 _In_opt_ LPXFORM px,
1506 _In_ DWORD cj,
1507 _In_reads_bytes_(cj) LPRGNDATA prgndata);
1508
1509 __kernel_entry
1510 W32KAPI
1511 ULONG
1512 APIENTRY
1513 NtGdiMakeFontDir(
1514 _In_ FLONG flEmbed,
1515 _Out_writes_bytes_(cjFontDir) PBYTE pjFontDir,
1516 _In_ UINT cjFontDir,
1517 _In_reads_bytes_(cjPathname) LPWSTR pwszPathname,
1518 _In_ UINT cjPathname);
1519
1520 __kernel_entry
1521 W32KAPI
1522 BOOL
1523 APIENTRY
1524 NtGdiPolyDraw(
1525 _In_ HDC hdc,
1526 _In_reads_(cpt) LPPOINT ppt,
1527 _In_reads_(cpt) LPBYTE pjAttr,
1528 _In_ ULONG cpt);
1529
1530 __kernel_entry
1531 W32KAPI
1532 BOOL
1533 APIENTRY
1534 NtGdiPolyTextOutW(
1535 _In_ HDC hdc,
1536 _In_reads_(cStr) POLYTEXTW *pptw,
1537 _In_ UINT cStr,
1538 _In_ DWORD dwCodePage);
1539
1540 __kernel_entry
1541 W32KAPI
1542 ULONG
1543 APIENTRY
1544 NtGdiGetServerMetaFileBits(
1545 _In_ HANDLE hmo,
1546 _In_ ULONG cjData,
1547 _Out_writes_bytes_opt_(cjData) LPBYTE pjData,
1548 _Out_ PDWORD piType,
1549 _Out_ PDWORD pmm,
1550 _Out_ PDWORD pxExt,
1551 _Out_ PDWORD pyExt);
1552
1553 __kernel_entry
1554 W32KAPI
1555 BOOL
1556 APIENTRY
1557 NtGdiEqualRgn(
1558 _In_ HRGN hrgn1,
1559 _In_ HRGN hrgn2);
1560
1561 _Must_inspect_result_
1562 _Success_(return!=FALSE)
1563 __kernel_entry
1564 W32KAPI
1565 BOOL
1566 APIENTRY
1567 NtGdiGetBitmapDimension(
1568 _In_ HBITMAP hbm,
1569 _Out_ LPSIZE psize);
1570
1571 __kernel_entry
1572 W32KAPI
1573 UINT
1574 APIENTRY
1575 NtGdiGetNearestPaletteIndex(
1576 _In_ HPALETTE hpal,
1577 _In_ COLORREF crColor);
1578
1579 __kernel_entry
1580 W32KAPI
1581 BOOL
1582 APIENTRY
1583 NtGdiPtVisible(
1584 _In_ HDC hdc,
1585 _In_ INT x,
1586 _In_ INT y);
1587
1588 __kernel_entry
1589 W32KAPI
1590 BOOL
1591 APIENTRY
1592 NtGdiRectVisible(
1593 _In_ HDC hdc,
1594 _In_ LPRECT prc);
1595
1596 __kernel_entry
1597 W32KAPI
1598 BOOL
1599 APIENTRY
1600 NtGdiRemoveFontResourceW(
1601 _In_reads_(cwc) WCHAR *pwszFiles,
1602 _In_ ULONG cwc,
1603 _In_ ULONG cFiles,
1604 _In_ ULONG fl,
1605 _In_ DWORD dwPidTid,
1606 _In_opt_ DESIGNVECTOR *pdv);
1607
1608 __kernel_entry
1609 W32KAPI
1610 BOOL
1611 APIENTRY
1612 NtGdiResizePalette(
1613 _In_ HPALETTE hpal,
1614 _In_ UINT cEntry);
1615
1616 __kernel_entry
1617 W32KAPI
1618 BOOL
1619 APIENTRY
1620 NtGdiSetBitmapDimension(
1621 _In_ HBITMAP hbm,
1622 _In_ INT cx,
1623 _In_ INT cy,
1624 _In_opt_ LPSIZE psizeOut);
1625
1626 __kernel_entry
1627 W32KAPI
1628 INT
1629 APIENTRY
1630 NtGdiOffsetClipRgn(
1631 _In_ HDC hdc,
1632 _In_ INT x,
1633 _In_ INT y);
1634
1635 __kernel_entry
1636 W32KAPI
1637 INT
1638 APIENTRY
1639 NtGdiSetMetaRgn(
1640 _In_ HDC hdc);
1641
1642 __kernel_entry
1643 W32KAPI
1644 BOOL
1645 APIENTRY
1646 NtGdiSetTextJustification(
1647 _In_ HDC hdc,
1648 _In_ INT lBreakExtra,
1649 _In_ INT cBreak);
1650
1651 _Success_(return!=ERROR)
1652 __kernel_entry
1653 W32KAPI
1654 INT
1655 APIENTRY
1656 NtGdiGetAppClipBox(
1657 _In_ HDC hdc,
1658 _Out_ LPRECT prc);
1659
1660 __kernel_entry
1661 W32KAPI
1662 BOOL
1663 APIENTRY
1664 NtGdiGetTextExtentExW(
1665 _In_ HDC hdc,
1666 _In_reads_opt_(cwc) LPWSTR pwsz,
1667 _In_ ULONG cwc,
1668 _In_ ULONG dxMax,
1669 _Out_opt_ ULONG *pcCh,
1670 _Out_writes_to_opt_(cwc, *pcCh) PULONG pdxOut,
1671 _Out_ LPSIZE psize,
1672 _In_ FLONG fl);
1673
1674 __kernel_entry
1675 W32KAPI
1676 BOOL
1677 APIENTRY
1678 NtGdiGetCharABCWidthsW(
1679 _In_ HDC hdc,
1680 _In_ UINT wchFirst,
1681 _In_ ULONG cwch,
1682 _In_reads_opt_(cwch) PWCHAR pwch,
1683 _In_ FLONG fl,
1684 _Out_writes_bytes_(cwch * sizeof(ABC)) PVOID pvBuf);
1685
1686 __kernel_entry
1687 W32KAPI
1688 DWORD
1689 APIENTRY
1690 NtGdiGetCharacterPlacementW(
1691 _In_ HDC hdc,
1692 _In_reads_z_(nCount) LPWSTR pwsz,
1693 _In_ INT nCount,
1694 _In_ INT nMaxExtent,
1695 _Inout_ LPGCP_RESULTSW pgcpw,
1696 _In_ DWORD dwFlags);
1697
1698 __kernel_entry
1699 W32KAPI
1700 BOOL
1701 APIENTRY
1702 NtGdiAngleArc(
1703 _In_ HDC hdc,
1704 _In_ INT x,
1705 _In_ INT y,
1706 _In_ DWORD dwRadius,
1707 _In_ DWORD dwStartAngle,
1708 _In_ DWORD dwSweepAngle);
1709
1710 __kernel_entry
1711 W32KAPI
1712 BOOL
1713 APIENTRY
1714 NtGdiBeginPath(
1715 _In_ HDC hdc);
1716
1717 __kernel_entry
1718 W32KAPI
1719 BOOL
1720 APIENTRY
1721 NtGdiSelectClipPath(
1722 _In_ HDC hdc,
1723 _In_ INT iMode);
1724
1725 __kernel_entry
1726 W32KAPI
1727 BOOL
1728 APIENTRY
1729 NtGdiCloseFigure(
1730 _In_ HDC hdc);
1731
1732 __kernel_entry
1733 W32KAPI
1734 BOOL
1735 APIENTRY
1736 NtGdiEndPath(
1737 _In_ HDC hdc);
1738
1739 __kernel_entry
1740 W32KAPI
1741 BOOL
1742 APIENTRY
1743 NtGdiAbortPath(
1744 _In_ HDC hdc);
1745
1746 __kernel_entry
1747 W32KAPI
1748 BOOL
1749 APIENTRY
1750 NtGdiFillPath(
1751 _In_ HDC hdc);
1752
1753 __kernel_entry
1754 W32KAPI
1755 BOOL
1756 APIENTRY
1757 NtGdiStrokeAndFillPath(
1758 _In_ HDC hdc);
1759
1760 __kernel_entry
1761 W32KAPI
1762 BOOL
1763 APIENTRY
1764 NtGdiStrokePath(
1765 _In_ HDC hdc);
1766
1767 __kernel_entry
1768 W32KAPI
1769 BOOL
1770 APIENTRY
1771 NtGdiWidenPath(
1772 _In_ HDC hdc);
1773
1774 __kernel_entry
1775 W32KAPI
1776 BOOL
1777 APIENTRY
1778 NtGdiFlattenPath(
1779 _In_ HDC hdc);
1780
1781 __kernel_entry
1782 W32KAPI
1783 HRGN
1784 APIENTRY
1785 NtGdiPathToRegion(
1786 _In_ HDC hdc);
1787
1788 __kernel_entry
1789 W32KAPI
1790 BOOL
1791 APIENTRY
1792 NtGdiSetMiterLimit(
1793 _In_ HDC hdc,
1794 _In_ DWORD dwNew,
1795 _Inout_opt_ PDWORD pdwOut);
1796
1797 __kernel_entry
1798 W32KAPI
1799 BOOL
1800 APIENTRY
1801 NtGdiSetFontXform(
1802 _In_ HDC hdc,
1803 _In_ DWORD dwxScale,
1804 _In_ DWORD dwyScale);
1805
1806 _Success_(return != FALSE)
1807 __kernel_entry
1808 W32KAPI
1809 BOOL
1810 APIENTRY
1811 NtGdiGetMiterLimit(
1812 _In_ HDC hdc,
1813 _Out_ PDWORD pdwOut);
1814
1815 __kernel_entry
1816 W32KAPI
1817 BOOL
1818 APIENTRY
1819 NtGdiEllipse(
1820 _In_ HDC hdc,
1821 _In_ INT xLeft,
1822 _In_ INT yTop,
1823 _In_ INT xRight,
1824 _In_ INT yBottom);
1825
1826 __kernel_entry
1827 W32KAPI
1828 BOOL
1829 APIENTRY
1830 NtGdiRectangle(
1831 _In_ HDC hdc,
1832 _In_ INT xLeft,
1833 _In_ INT yTop,
1834 _In_ INT xRight,
1835 _In_ INT yBottom);
1836
1837 __kernel_entry
1838 W32KAPI
1839 BOOL
1840 APIENTRY
1841 NtGdiRoundRect(
1842 _In_ HDC hdc,
1843 _In_ INT x1,
1844 _In_ INT y1,
1845 _In_ INT x2,
1846 _In_ INT y2,
1847 _In_ INT x3,
1848 _In_ INT y3);
1849
1850 __kernel_entry
1851 W32KAPI
1852 BOOL
1853 APIENTRY
1854 NtGdiPlgBlt(
1855 _In_ HDC hdcTrg,
1856 _In_reads_(3) LPPOINT pptlTrg,
1857 _In_ HDC hdcSrc,
1858 _In_ INT xSrc,
1859 _In_ INT ySrc,
1860 _In_ INT cxSrc,
1861 _In_ INT cySrc,
1862 _In_opt_ HBITMAP hbmMask,
1863 _In_ INT xMask,
1864 _In_ INT yMask,
1865 _In_ DWORD crBackColor);
1866
1867 __kernel_entry
1868 W32KAPI
1869 BOOL
1870 APIENTRY
1871 NtGdiMaskBlt(
1872 _In_ HDC hdc,
1873 _In_ INT xDst,
1874 _In_ INT yDst,
1875 _In_ INT cx,
1876 _In_ INT cy,
1877 _In_ HDC hdcSrc,
1878 _In_ INT xSrc,
1879 _In_ INT ySrc,
1880 _In_opt_ HBITMAP hbmMask,
1881 _In_ INT xMask,
1882 _In_ INT yMask,
1883 _In_ DWORD dwRop4,
1884 _In_ DWORD crBackColor);
1885
1886 __kernel_entry
1887 W32KAPI
1888 BOOL
1889 APIENTRY
1890 NtGdiExtFloodFill(
1891 _In_ HDC hdc,
1892 _In_ INT x,
1893 _In_ INT y,
1894 _In_ COLORREF crColor,
1895 _In_ UINT iFillType);
1896
1897 __kernel_entry
1898 W32KAPI
1899 BOOL
1900 APIENTRY
1901 NtGdiFillRgn(
1902 _In_ HDC hdc,
1903 _In_ HRGN hrgn,
1904 _In_ HBRUSH hbrush);
1905
1906 __kernel_entry
1907 W32KAPI
1908 BOOL
1909 APIENTRY
1910 NtGdiFrameRgn(
1911 _In_ HDC hdc,
1912 _In_ HRGN hrgn,
1913 _In_ HBRUSH hbrush,
1914 _In_ INT xWidth,
1915 _In_ INT yHeight);
1916
1917 __kernel_entry
1918 W32KAPI
1919 COLORREF
1920 APIENTRY
1921 NtGdiSetPixel(
1922 _In_ HDC hdcDst,
1923 _In_ INT x,
1924 _In_ INT y,
1925 _In_ COLORREF crColor);
1926
1927 __kernel_entry
1928 W32KAPI
1929 DWORD
1930 APIENTRY
1931 NtGdiGetPixel(
1932 _In_ HDC hdc,
1933 _In_ INT x,
1934 _In_ INT y);
1935
1936 __kernel_entry
1937 W32KAPI
1938 BOOL
1939 APIENTRY
1940 NtGdiStartPage(
1941 _In_ HDC hdc);
1942
1943 __kernel_entry
1944 W32KAPI
1945 BOOL
1946 APIENTRY
1947 NtGdiEndPage(
1948 _In_ HDC hdc);
1949
1950 __kernel_entry
1951 W32KAPI
1952 INT
1953 APIENTRY
1954 NtGdiStartDoc(
1955 _In_ HDC hdc,
1956 _In_ DOCINFOW *pdi,
1957 _Out_ BOOL *pbBanding,
1958 _In_ INT iJob);
1959
1960 __kernel_entry
1961 W32KAPI
1962 BOOL
1963 APIENTRY
1964 NtGdiEndDoc(
1965 _In_ HDC hdc);
1966
1967 __kernel_entry
1968 W32KAPI
1969 BOOL
1970 APIENTRY
1971 NtGdiAbortDoc(
1972 _In_ HDC hdc);
1973
1974 __kernel_entry
1975 W32KAPI
1976 BOOL
1977 APIENTRY
1978 NtGdiUpdateColors(
1979 _In_ HDC hdc);
1980
1981 __kernel_entry
1982 W32KAPI
1983 BOOL
1984 APIENTRY
1985 NtGdiGetCharWidthW(
1986 _In_ HDC hdc,
1987 _In_ UINT wcFirst,
1988 _In_ UINT cwc,
1989 _In_reads_opt_(cwc) PWCHAR pwc,
1990 _In_ FLONG fl,
1991 _Out_writes_bytes_(cwc * sizeof(ULONG)) PVOID pvBuf);
1992
1993 __kernel_entry
1994 W32KAPI
1995 BOOL
1996 APIENTRY
1997 NtGdiGetCharWidthInfo(
1998 _In_ HDC hdc,
1999 _Out_ PCHWIDTHINFO pChWidthInfo);
2000
2001 __kernel_entry
2002 W32KAPI
2003 INT
2004 APIENTRY
2005 NtGdiDrawEscape(
2006 _In_ HDC hdc,
2007 _In_ INT iEsc,
2008 _In_ INT cjIn,
2009 _In_reads_bytes_opt_(cjIn) LPSTR pjIn);
2010
2011 __kernel_entry
2012 W32KAPI
2013 INT
2014 APIENTRY
2015 NtGdiExtEscape(
2016 _In_opt_ HDC hdc,
2017 _In_reads_opt_(cwcDriver) PWCHAR pDriver,
2018 _In_ INT cwcDriver,
2019 _In_ INT iEsc,
2020 _In_ INT cjIn,
2021 _In_reads_bytes_opt_(cjIn) LPSTR pjIn,
2022 _In_ INT cjOut,
2023 _Out_writes_bytes_opt_(cjOut) LPSTR pjOut);
2024
2025 _Success_(return != GDI_ERROR)
2026 __kernel_entry
2027 W32KAPI
2028 ULONG
2029 APIENTRY
2030 NtGdiGetFontData(
2031 _In_ HDC hdc,
2032 _In_ DWORD dwTable,
2033 _In_ DWORD dwOffset,
2034 _Out_writes_bytes_to_opt_(cjBuf, return) PVOID pvBuf,
2035 _In_ ULONG cjBuf);
2036
2037 __kernel_entry
2038 W32KAPI
2039 DWORD
2040 APIENTRY
2041 NtGdiGetFontFileData(
2042 _In_ UINT uFileCollectionID,
2043 _In_ UINT uFileIndex,
2044 _In_ PULONGLONG pullFileOffset,
2045 _Out_writes_bytes_(cjBuf) PVOID pvBuf,
2046 _In_ SIZE_T cjBuf);
2047
2048 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
2049 __kernel_entry
2050 W32KAPI
2051 DWORD
2052 APIENTRY
2053 NtGdiGetFontFileInfo(
2054 _In_ UINT uFileCollectionID,
2055 _In_ UINT uFileIndex,
2056 _Out_writes_bytes_(cjSize) PFONT_FILE_INFO pffi,
2057 _In_ SIZE_T cjSize,
2058 _Out_opt_ PSIZE_T pcjActualSize);
2059 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN7) */
2060
2061 __kernel_entry
2062 W32KAPI
2063 ULONG
2064 APIENTRY
2065 NtGdiGetGlyphOutline(
2066 _In_ HDC hdc,
2067 _In_ WCHAR wch,
2068 _In_ UINT iFormat,
2069 _Out_ LPGLYPHMETRICS pgm,
2070 _In_ ULONG cjBuf,
2071 _Out_writes_bytes_opt_(cjBuf) PVOID pvBuf,
2072 _In_ LPMAT2 pmat2,
2073 _In_ BOOL bIgnoreRotation);
2074
2075 __kernel_entry
2076 W32KAPI
2077 BOOL
2078 APIENTRY
2079 NtGdiGetETM(
2080 _In_ HDC hdc,
2081 _Out_opt_ EXTTEXTMETRIC *petm);
2082
2083 __kernel_entry
2084 W32KAPI
2085 BOOL
2086 APIENTRY
2087 NtGdiGetRasterizerCaps(
2088 _Out_writes_bytes_(cjBytes) LPRASTERIZER_STATUS praststat,
2089 _In_ ULONG cjBytes);
2090
2091 __kernel_entry
2092 W32KAPI
2093 ULONG
2094 APIENTRY
2095 NtGdiGetKerningPairs(
2096 _In_ HDC hdc,
2097 _In_ ULONG cPairs,
2098 _Out_writes_to_opt_(cPairs, return) KERNINGPAIR *pkpDst);
2099
2100 __kernel_entry
2101 W32KAPI
2102 BOOL
2103 APIENTRY
2104 NtGdiMonoBitmap(
2105 _In_ HBITMAP hbm);
2106
2107 __kernel_entry
2108 W32KAPI
2109 HBITMAP
2110 APIENTRY
2111 NtGdiGetObjectBitmapHandle(
2112 _In_ HBRUSH hbr,
2113 _Out_ UINT *piUsage);
2114
2115 __kernel_entry
2116 W32KAPI
2117 ULONG
2118 APIENTRY
2119 NtGdiEnumObjects(
2120 _In_ HDC hdc,
2121 _In_ INT iObjectType,
2122 _In_ ULONG cjBuf,
2123 _Out_writes_bytes_opt_(cjBuf) PVOID pvBuf);
2124
2125 __kernel_entry
2126 W32KAPI
2127 BOOL
2128 APIENTRY
2129 NtGdiResetDC(
2130 _In_ HDC hdc,
2131 _In_ LPDEVMODEW pdm,
2132 _Out_ PBOOL pbBanding,
2133 _In_opt_ DRIVER_INFO_2W *pDriverInfo2,
2134 _At_((PUMDHPDEV*)ppUMdhpdev, _Out_) PVOID ppUMdhpdev);
2135
2136 __kernel_entry
2137 W32KAPI
2138 DWORD
2139 APIENTRY
2140 NtGdiSetBoundsRect(
2141 _In_ HDC hdc,
2142 _In_ LPRECT prc,
2143 _In_ DWORD f);
2144
2145 __kernel_entry
2146 W32KAPI
2147 BOOL
2148 APIENTRY
2149 NtGdiGetColorAdjustment(
2150 _In_ HDC hdc,
2151 _Out_ PCOLORADJUSTMENT pcaOut);
2152
2153 __kernel_entry
2154 W32KAPI
2155 BOOL
2156 APIENTRY
2157 NtGdiSetColorAdjustment(
2158 _In_ HDC hdc,
2159 _In_ PCOLORADJUSTMENT pca);
2160
2161 __kernel_entry
2162 W32KAPI
2163 BOOL
2164 APIENTRY
2165 NtGdiCancelDC(
2166 _In_ HDC hdc);
2167
2168 __kernel_entry
2169 W32KAPI
2170 HDC
2171 APIENTRY
2172 NtGdiOpenDCW(
2173 _In_opt_ PUNICODE_STRING pustrDevice,
2174 _In_ DEVMODEW *pdm,
2175 _In_ PUNICODE_STRING pustrLogAddr,
2176 _In_ ULONG iType,
2177 _In_ BOOL bDisplay,
2178 _In_opt_ HANDLE hspool,
2179 _At_((PUMDHPDEV*)pUMdhpdev, _Out_) PVOID pUMdhpdev);
2180
2181 __kernel_entry
2182 W32KAPI
2183 BOOL
2184 APIENTRY
2185 NtGdiGetDCDword(
2186 _In_ HDC hdc,
2187 _In_ UINT u,
2188 _Out_ DWORD *Result);
2189
2190 _Success_(return!=FALSE)
2191 __kernel_entry
2192 W32KAPI
2193 BOOL
2194 APIENTRY
2195 NtGdiGetDCPoint(
2196 _In_ HDC hdc,
2197 _In_ UINT iPoint,
2198 _Out_ PPOINTL pptOut);
2199
2200 __kernel_entry
2201 W32KAPI
2202 BOOL
2203 APIENTRY
2204 NtGdiScaleViewportExtEx(
2205 _In_ HDC hdc,
2206 _In_ INT xNum,
2207 _In_ INT xDenom,
2208 _In_ INT yNum,
2209 _In_ INT yDenom,
2210 _Out_opt_ LPSIZE pszOut);
2211
2212 __kernel_entry
2213 W32KAPI
2214 BOOL
2215 APIENTRY
2216 NtGdiScaleWindowExtEx(
2217 _In_ HDC hdc,
2218 _In_ INT xNum,
2219 _In_ INT xDenom,
2220 _In_ INT yNum,
2221 _In_ INT yDenom,
2222 _Out_opt_ LPSIZE pszOut);
2223
2224 __kernel_entry
2225 W32KAPI
2226 BOOL
2227 APIENTRY
2228 NtGdiSetVirtualResolution(
2229 _In_ HDC hdc,
2230 _In_ INT cxVirtualDevicePixel,
2231 _In_ INT cyVirtualDevicePixel,
2232 _In_ INT cxVirtualDeviceMm,
2233 _In_ INT cyVirtualDeviceMm);
2234
2235 __kernel_entry
2236 W32KAPI
2237 BOOL
2238 APIENTRY
2239 NtGdiSetSizeDevice(
2240 _In_ HDC hdc,
2241 _In_ INT cxVirtualDevice,
2242 _In_ INT cyVirtualDevice);
2243
2244 _Success_(return !=FALSE)
2245 __kernel_entry
2246 W32KAPI
2247 BOOL
2248 APIENTRY
2249 NtGdiGetTransform(
2250 _In_ HDC hdc,
2251 _In_ DWORD iXform,
2252 _Out_ LPXFORM pxf);
2253
2254 __kernel_entry
2255 W32KAPI
2256 BOOL
2257 APIENTRY
2258 NtGdiModifyWorldTransform(
2259 _In_ HDC hdc,
2260 _In_opt_ LPXFORM pxf,
2261 _In_ DWORD iXform);
2262
2263 __kernel_entry
2264 W32KAPI
2265 BOOL
2266 APIENTRY
2267 NtGdiCombineTransform(
2268 _Out_ LPXFORM pxfDst,
2269 _In_ LPXFORM pxfSrc1,
2270 _In_ LPXFORM pxfSrc2);
2271
2272 __kernel_entry
2273 W32KAPI
2274 BOOL
2275 APIENTRY
2276 NtGdiTransformPoints(
2277 _In_ HDC hdc,
2278 _In_reads_(c) PPOINT pptIn,
2279 _Out_writes_(c) PPOINT pptOut,
2280 _In_ INT c,
2281 _In_ INT iMode);
2282
2283 __kernel_entry
2284 W32KAPI
2285 LONG
2286 APIENTRY
2287 NtGdiConvertMetafileRect(
2288 _In_ HDC hdc,
2289 _Inout_ PRECTL prect);
2290
2291 __kernel_entry
2292 W32KAPI
2293 INT
2294 APIENTRY
2295 NtGdiGetTextCharsetInfo(
2296 _In_ HDC hdc,
2297 _Out_opt_ LPFONTSIGNATURE lpSig,
2298 _In_ DWORD dwFlags);
2299
2300 __kernel_entry
2301 W32KAPI
2302 BOOL
2303 APIENTRY
2304 NtGdiDoBanding(
2305 _In_ HDC hdc,
2306 _In_ BOOL bStart,
2307 _Out_ POINTL *pptl,
2308 _Out_ PSIZE pSize);
2309
2310 __kernel_entry
2311 W32KAPI
2312 ULONG
2313 APIENTRY
2314 NtGdiGetPerBandInfo(
2315 _In_ HDC hdc,
2316 _Inout_ PERBANDINFO *ppbi);
2317
2318 __kernel_entry
2319 W32KAPI
2320 NTSTATUS
2321 APIENTRY
2322 NtGdiGetStats(
2323 _In_ HANDLE hProcess,
2324 _In_ INT iIndex,
2325 _In_ INT iPidType,
2326 _Out_writes_bytes_(cjResultSize) PVOID pResults,
2327 _In_ UINT cjResultSize);
2328
2329 __kernel_entry
2330 W32KAPI
2331 BOOL
2332 APIENTRY
2333 NtGdiSetMagicColors(
2334 _In_ HDC hdc,
2335 _In_ PALETTEENTRY peMagic,
2336 _In_ ULONG Index);
2337
2338 __kernel_entry
2339 W32KAPI
2340 HBRUSH
2341 APIENTRY
2342 NtGdiSelectBrush(
2343 _In_ HDC hdc,
2344 _In_ HBRUSH hbrush);
2345
2346 __kernel_entry
2347 W32KAPI
2348 HPEN
2349 APIENTRY
2350 NtGdiSelectPen(
2351 _In_ HDC hdc,
2352 _In_ HPEN hpen);
2353
2354 __kernel_entry
2355 W32KAPI
2356 HBITMAP
2357 APIENTRY
2358 NtGdiSelectBitmap(
2359 _In_ HDC hdc,
2360 _In_ HBITMAP hbm);
2361
2362 __kernel_entry
2363 W32KAPI
2364 HFONT
2365 APIENTRY
2366 NtGdiSelectFont(
2367 _In_ HDC hdc,
2368 _In_ HFONT hf);
2369
2370 __kernel_entry
2371 W32KAPI
2372 INT
2373 APIENTRY
2374 NtGdiExtSelectClipRgn(
2375 _In_ HDC hdc,
2376 _In_opt_ HRGN hrgn,
2377 _In_ INT iMode);
2378
2379 __kernel_entry
2380 W32KAPI
2381 HPEN
2382 APIENTRY
2383 NtGdiCreatePen(
2384 _In_ INT iPenStyle,
2385 _In_ INT iPenWidth,
2386 _In_ COLORREF cr,
2387 _In_opt_ HBRUSH hbr);
2388
2389 #ifdef _WINDOWBLT_NOTIFICATION_
2390 __kernel_entry
2391 W32KAPI
2392 BOOL
2393 APIENTRY
2394 NtGdiBitBlt(
2395 _In_ HDC hdcDst,
2396 _In_ INT x,
2397 _In_ INT y,
2398 _In_ INT cx,
2399 _In_ INT cy,
2400 _In_opt_ HDC hdcSrc,
2401 _In_ INT xSrc,
2402 _In_ INT ySrc,
2403 _In_ DWORD rop4,
2404 _In_ DWORD crBackColor,
2405 _In_ FLONG fl);
2406 #else
2407 __kernel_entry
2408 W32KAPI
2409 BOOL
2410 APIENTRY
2411 NtGdiBitBlt(
2412 _In_ HDC hdcDst,
2413 _In_ INT x,
2414 _In_ INT y,
2415 _In_ INT cx,
2416 _In_ INT cy,
2417 _In_opt_ HDC hdcSrc,
2418 _In_ INT xSrc,
2419 _In_ INT ySrc,
2420 _In_ DWORD rop4,
2421 _In_ DWORD crBackColor);
2422 #endif
2423
2424 __kernel_entry
2425 W32KAPI
2426 BOOL
2427 APIENTRY
2428 NtGdiTileBitBlt(
2429 _In_ HDC hdcDst,
2430 _In_ RECTL *prectDst,
2431 _In_ HDC hdcSrc,
2432 _In_ RECTL *prectSrc,
2433 _In_ POINTL *pptlOrigin,
2434 _In_ DWORD rop4,
2435 _In_ DWORD crBackColor);
2436
2437 __kernel_entry
2438 W32KAPI
2439 BOOL
2440 APIENTRY
2441 NtGdiTransparentBlt(
2442 _In_ HDC hdcDst,
2443 _In_ INT xDst,
2444 _In_ INT yDst,
2445 _In_ INT cxDst,
2446 _In_ INT cyDst,
2447 _In_ HDC hdcSrc,
2448 _In_ INT xSrc,
2449 _In_ INT ySrc,
2450 _In_ INT cxSrc,
2451 _In_ INT cySrc,
2452 _In_ COLORREF TransColor);
2453
2454 __kernel_entry
2455 W32KAPI
2456 BOOL
2457 APIENTRY
2458 NtGdiGetTextExtent(
2459 _In_ HDC hdc,
2460 _In_reads_(cwc) LPWSTR lpwsz,
2461 _In_ INT cwc,
2462 _Out_ LPSIZE psize,
2463 _In_ UINT flOpts);
2464
2465 _Success_(return != FALSE)
2466 __kernel_entry
2467 W32KAPI
2468 BOOL
2469 APIENTRY
2470 NtGdiGetTextMetricsW(
2471 _In_ HDC hdc,
2472 _Out_writes_bytes_(cj) TMW_INTERNAL *ptm,
2473 _In_ ULONG cj);
2474
2475 __kernel_entry
2476 W32KAPI
2477 INT
2478 APIENTRY
2479 NtGdiGetTextFaceW(
2480 _In_ HDC hdc,
2481 _In_ INT cChar,
2482 _Out_writes_to_opt_(cChar, return) LPWSTR pszOut,
2483 _In_ BOOL bAliasName);
2484
2485 __kernel_entry
2486 W32KAPI
2487 INT
2488 APIENTRY
2489 NtGdiGetRandomRgn(
2490 _In_ HDC hdc,
2491 _In_ HRGN hrgn,
2492 _In_ INT iRgn);
2493
2494 __kernel_entry
2495 W32KAPI
2496 BOOL
2497 APIENTRY
2498 NtGdiExtTextOutW(
2499 _In_ HDC hdc,
2500 _In_ INT x,
2501 _In_ INT y,
2502 _In_ UINT flOpts,
2503 _In_opt_ LPRECT prcl,
2504 _In_reads_opt_(cwc) LPWSTR pwsz,
2505 _In_range_(0, 0xffff) INT cwc,
2506 _In_reads_opt_(_Inexpressible_(cwc)) LPINT pdx,
2507 _In_ DWORD dwCodePage);
2508
2509 __kernel_entry
2510 W32KAPI
2511 INT
2512 APIENTRY
2513 NtGdiIntersectClipRect(
2514 _In_ HDC hdc,
2515 _In_ INT xLeft,
2516 _In_ INT yTop,
2517 _In_ INT xRight,
2518 _In_ INT yBottom);
2519
2520 __kernel_entry
2521 W32KAPI
2522 HRGN
2523 APIENTRY
2524 NtGdiCreateRectRgn(
2525 _In_ INT xLeft,
2526 _In_ INT yTop,
2527 _In_ INT xRight,
2528 _In_ INT yBottom);
2529
2530 __kernel_entry
2531 W32KAPI
2532 BOOL
2533 APIENTRY
2534 NtGdiPatBlt(
2535 _In_ HDC hdcDest,
2536 _In_ INT x,
2537 _In_ INT y,
2538 _In_ INT cx,
2539 _In_ INT cy,
2540 _In_ DWORD dwRop);
2541
2542 __kernel_entry
2543 W32KAPI
2544 BOOL
2545 APIENTRY
2546 NtGdiPolyPatBlt(
2547 _In_ HDC hdc,
2548 _In_ DWORD rop4,
2549 _In_reads_(cPoly) PPOLYPATBLT pPoly,
2550 _In_ DWORD cPoly,
2551 _In_ DWORD dwMode);
2552
2553 __kernel_entry
2554 W32KAPI
2555 BOOL
2556 APIENTRY
2557 NtGdiUnrealizeObject(
2558 _In_ HANDLE h);
2559
2560 __kernel_entry
2561 W32KAPI
2562 HANDLE
2563 APIENTRY
2564 NtGdiGetStockObject(
2565 _In_ INT iObject);
2566
2567 __kernel_entry
2568 W32KAPI
2569 HBITMAP
2570 APIENTRY
2571 NtGdiCreateCompatibleBitmap(
2572 _In_ HDC hdc,
2573 _In_ INT cx,
2574 _In_ INT cy);
2575
2576 __kernel_entry
2577 W32KAPI
2578 HBITMAP
2579 APIENTRY
2580 NtGdiCreateBitmapFromDxSurface(
2581 _In_ HDC hdc,
2582 _In_ UINT uiWidth,
2583 _In_ UINT uiHeight,
2584 _In_ DWORD Format,
2585 _In_opt_ HANDLE hDxSharedSurface);
2586
2587 __kernel_entry
2588 W32KAPI
2589 HBITMAP
2590 APIENTRY
2591 NtGdiCreateBitmapFromDxSurface2(
2592 _In_ HDC hdc,
2593 _In_ UINT uiWidth,
2594 _In_ UINT uiHeight,
2595 _In_ DWORD Format,
2596 _In_ DWORD SubresourceIndex,
2597 _In_ BOOL bSharedSurfaceNtHandle,
2598 _In_opt_ HANDLE hDxSharedSurface);
2599
2600 __kernel_entry
2601 W32KAPI
2602 BOOL
2603 APIENTRY
2604 NtGdiBeginGdiRendering(
2605 _In_ HBITMAP hbm,
2606 _In_ BOOL bDiscard,
2607 _In_ PVOID KernelModeDeviceHandle);
2608
2609 __kernel_entry
2610 W32KAPI
2611 BOOL
2612 APIENTRY
2613 NtGdiEndGdiRendering(
2614 _In_ HBITMAP hbm,
2615 _In_ BOOL bDiscard,
2616 _Out_ BOOL* pbDeviceRemoved,
2617 _In_ PVOID KernelModeDeviceHandle);
2618
2619 __kernel_entry
2620 W32KAPI
2621 BOOL
2622 APIENTRY
2623 NtGdiLineTo(
2624 _In_ HDC hdc,
2625 _In_ INT x,
2626 _In_ INT y);
2627
2628 _Success_(return != FALSE)
2629 __kernel_entry
2630 W32KAPI
2631 BOOL
2632 APIENTRY
2633 NtGdiMoveTo(
2634 _In_ HDC hdc,
2635 _In_ INT x,
2636 _In_ INT y,
2637 _Out_opt_ LPPOINT pptOut);
2638
2639 _Success_(return != 0)
2640 __kernel_entry
2641 W32KAPI
2642 INT
2643 APIENTRY
2644 NtGdiExtGetObjectW(
2645 _In_ HANDLE h,
2646 _In_ INT cj,
2647 _Out_writes_bytes_opt_(cj) LPVOID pvOut);
2648
2649 __kernel_entry
2650 W32KAPI
2651 INT
2652 APIENTRY
2653 NtGdiGetDeviceCaps(
2654 _In_ HDC hdc,
2655 _In_ INT i);
2656
2657 _Success_(return!=FALSE)
2658 __kernel_entry
2659 W32KAPI
2660 BOOL
2661 APIENTRY
2662 NtGdiGetDeviceCapsAll (
2663 _In_opt_ HDC hdc,
2664 _Out_ PDEVCAPS pDevCaps);
2665
2666 __kernel_entry
2667 W32KAPI
2668 BOOL
2669 APIENTRY
2670 NtGdiStretchBlt(
2671 _In_ HDC hdcDst,
2672 _In_ INT xDst,
2673 _In_ INT yDst,
2674 _In_ INT cxDst,
2675 _In_ INT cyDst,
2676 _In_opt_ HDC hdcSrc,
2677 _In_ INT xSrc,
2678 _In_ INT ySrc,
2679 _In_ INT cxSrc,
2680 _In_ INT cySrc,
2681 _In_ DWORD dwRop,
2682 _In_ DWORD dwBackColor);
2683
2684 _Success_(return!=FALSE)
2685 __kernel_entry
2686 W32KAPI
2687 BOOL
2688 APIENTRY
2689 NtGdiSetBrushOrg(
2690 _In_ HDC hdc,
2691 _In_ INT x,
2692 _In_ INT y,
2693 _Out_opt_ LPPOINT pptOut);
2694
2695 __kernel_entry
2696 W32KAPI
2697 HBITMAP
2698 APIENTRY
2699 NtGdiCreateBitmap(
2700 _In_ INT cx,
2701 _In_ INT cy,
2702 _In_ UINT cPlanes,
2703 _In_ UINT cBPP,
2704 _In_opt_ LPBYTE pjInit);
2705
2706 __kernel_entry
2707 W32KAPI
2708 HPALETTE
2709 APIENTRY
2710 NtGdiCreateHalftonePalette(
2711 _In_ HDC hdc);
2712
2713 __kernel_entry
2714 W32KAPI
2715 BOOL
2716 APIENTRY
2717 NtGdiRestoreDC(
2718 _In_ HDC hdc,
2719 _In_ INT iLevel);
2720
2721 __kernel_entry
2722 W32KAPI
2723 INT
2724 APIENTRY
2725 NtGdiExcludeClipRect(
2726 _In_ HDC hdc,
2727 _In_ INT xLeft,
2728 _In_ INT yTop,
2729 _In_ INT xRight,
2730 _In_ INT yBottom);
2731
2732 __kernel_entry
2733 W32KAPI
2734 INT
2735 APIENTRY
2736 NtGdiSaveDC(
2737 _In_ HDC hdc);
2738
2739 __kernel_entry
2740 W32KAPI
2741 INT
2742 APIENTRY
2743 NtGdiCombineRgn(
2744 _In_ HRGN hrgnDst,
2745 _In_ HRGN hrgnSrc1,
2746 _In_opt_ HRGN hrgnSrc2,
2747 _In_ INT iMode);
2748
2749 __kernel_entry
2750 W32KAPI
2751 BOOL
2752 APIENTRY
2753 NtGdiSetRectRgn(
2754 _In_ HRGN hrgn,
2755 _In_ INT xLeft,
2756 _In_ INT yTop,
2757 _In_ INT xRight,
2758 _In_ INT yBottom);
2759
2760 __kernel_entry
2761 W32KAPI
2762 LONG
2763 APIENTRY
2764 NtGdiSetBitmapBits(
2765 _In_ HBITMAP hbm,
2766 _In_ ULONG cj,
2767 _In_reads_bytes_(cj) PBYTE pjInit);
2768
2769 _Success_(return!=0)
2770 __kernel_entry
2771 W32KAPI
2772 INT
2773 APIENTRY
2774 NtGdiGetDIBitsInternal(
2775 _In_ HDC hdc,
2776 _In_ HBITMAP hbm,
2777 _In_ UINT iStartScan,
2778 _In_ UINT cScans,
2779 _Out_writes_bytes_opt_(cjMaxBits) LPBYTE pjBits,
2780 _Inout_ LPBITMAPINFO pbmi,
2781 _In_ UINT iUsage,
2782 _In_ UINT cjMaxBits,
2783 _In_ UINT cjMaxInfo);
2784
2785 __kernel_entry
2786 W32KAPI
2787 INT
2788 APIENTRY
2789 NtGdiOffsetRgn(
2790 _In_ HRGN hrgn,
2791 _In_ INT cx,
2792 _In_ INT cy);
2793
2794 _Success_(return!=ERROR)
2795 __kernel_entry
2796 W32KAPI
2797 INT
2798 APIENTRY
2799 NtGdiGetRgnBox(
2800 _In_ HRGN hrgn,
2801 _Out_ LPRECT prcOut);
2802
2803 __kernel_entry
2804 W32KAPI
2805 BOOL
2806 APIENTRY
2807 NtGdiRectInRegion(
2808 _In_ HRGN hrgn,
2809 _Inout_ LPRECT prcl);
2810
2811 _Success_(return!=0)
2812 __kernel_entry
2813 W32KAPI
2814 DWORD
2815 APIENTRY
2816 NtGdiGetBoundsRect(
2817 _In_ HDC hdc,
2818 _Out_ LPRECT prc,
2819 _In_ DWORD f);
2820
2821 __kernel_entry
2822 W32KAPI
2823 BOOL
2824 APIENTRY
2825 NtGdiPtInRegion(
2826 _In_ HRGN hrgn,
2827 _In_ INT x,
2828 _In_ INT y);
2829
2830 __kernel_entry
2831 W32KAPI
2832 COLORREF
2833 APIENTRY
2834 NtGdiGetNearestColor(
2835 _In_ HDC hdc,
2836 _In_ COLORREF cr);
2837
2838 __kernel_entry
2839 W32KAPI
2840 UINT
2841 APIENTRY
2842 NtGdiGetSystemPaletteUse(
2843 _In_ HDC hdc);
2844
2845 __kernel_entry
2846 W32KAPI
2847 UINT
2848 APIENTRY
2849 NtGdiSetSystemPaletteUse(
2850 _In_ HDC hdc,
2851 _In_ UINT ui);
2852
2853 _Success_(return!=0)
2854 __kernel_entry
2855 W32KAPI
2856 ULONG
2857 APIENTRY
2858 NtGdiGetRegionData(
2859 _In_ HRGN hrgn,
2860 _In_ ULONG cjBuffer,
2861 _Out_writes_bytes_to_opt_(cjBuffer, return) LPRGNDATA lpRgnData);
2862
2863 __kernel_entry
2864 W32KAPI
2865 BOOL
2866 APIENTRY
2867 NtGdiInvertRgn(
2868 _In_ HDC hdc,
2869 _In_ HRGN hrgn);
2870
2871 __kernel_entry
2872 INT
2873 W32KAPI
2874 APIENTRY
2875 NtGdiAddFontResourceW(
2876 _In_reads_(cwc) WCHAR *pwszFiles,
2877 _In_ ULONG cwc,
2878 _In_ ULONG cFiles,
2879 _In_ FLONG f,
2880 _In_ DWORD dwPidTid,
2881 _In_opt_ DESIGNVECTOR *pdv);
2882
2883 __kernel_entry
2884 W32KAPI
2885 HFONT
2886 APIENTRY
2887 NtGdiHfontCreate(
2888 _In_reads_bytes_(cjElfw) ENUMLOGFONTEXDVW *pelfw,
2889 _In_ ULONG cjElfw,
2890 _In_ LFTYPE lft,
2891 _In_ FLONG fl,
2892 _In_ PVOID pvCliData);
2893
2894 __kernel_entry
2895 W32KAPI
2896 ULONG
2897 APIENTRY
2898 NtGdiSetFontEnumeration(
2899 _In_ ULONG ulType);
2900
2901 __kernel_entry
2902 W32KAPI
2903 BOOL
2904 APIENTRY
2905 NtGdiEnumFonts(
2906 _In_ HDC hdc,
2907 _In_ ULONG iEnumType,
2908 _In_ FLONG flWin31Compat,
2909 _In_ ULONG cchFaceName,
2910 _In_reads_opt_(cchFaceName) LPCWSTR pwszFaceName,
2911 _In_ ULONG lfCharSet,
2912 _Inout_ ULONG *pulCount,
2913 _Out_writes_bytes_opt_(*pulCount) PVOID pvUserModeBuffer);
2914
2915 __kernel_entry
2916 W32KAPI
2917 BOOL
2918 APIENTRY
2919 NtGdiEnumFontClose(
2920 _In_ ULONG_PTR idEnum);
2921
2922 __kernel_entry
2923 W32KAPI
2924 BOOL
2925 APIENTRY
2926 NtGdiEnumFontChunk(
2927 _In_ HDC hdc,
2928 _In_ ULONG_PTR idEnum,
2929 _In_ ULONG cjEfdw,
2930 _Out_ ULONG *pcjEfdw,
2931 _Out_ PENUMFONTDATAW pefdw);
2932
2933 __kernel_entry
2934 W32KAPI
2935 ULONG_PTR
2936 APIENTRY
2937 NtGdiEnumFontOpen(
2938 _In_ HDC hdc,
2939 _In_ ULONG iEnumType,
2940 _In_ FLONG flWin31Compat,
2941 _In_ ULONG cwchMax,
2942 _In_opt_ LPWSTR pwszFaceName,
2943 _In_ ULONG lfCharSet,
2944 _Out_ ULONG *pulCount);
2945
2946 __kernel_entry
2947 W32KAPI
2948 INT
2949 APIENTRY
2950 NtGdiQueryFonts(
2951 _Out_writes_(nBufferSize) PUNIVERSAL_FONT_ID pufiFontList,
2952 _In_ ULONG nBufferSize,
2953 _Out_ PLARGE_INTEGER pTimeStamp);
2954
2955 __kernel_entry
2956 W32KAPI
2957 BOOL
2958 APIENTRY
2959 NtGdiConsoleTextOut(
2960 _In_ HDC hdc,
2961 _In_ POLYTEXTW *lpto,
2962 _In_ UINT nStrings,
2963 _In_ RECTL *prclBounds);
2964
2965 __kernel_entry
2966 W32KAPI
2967 NTSTATUS
2968 APIENTRY
2969 NtGdiFullscreenControl(
2970 _In_ FULLSCREENCONTROL FullscreenCommand,
2971 _In_ PVOID FullscreenInput,
2972 _In_ DWORD FullscreenInputLength,
2973 _Out_ PVOID FullscreenOutput,
2974 _Inout_ PULONG FullscreenOutputLength);
2975
2976 __kernel_entry
2977 W32KAPI
2978 DWORD
2979 APIENTRY
2980 NtGdiGetCharSet(
2981 _In_ HDC hdc);
2982
2983 __kernel_entry
2984 W32KAPI
2985 BOOL
2986 APIENTRY
2987 NtGdiEnableEudc(
2988 _In_ BOOL b);
2989
2990 __kernel_entry
2991 W32KAPI
2992 BOOL
2993 APIENTRY
2994 NtGdiEudcLoadUnloadLink(
2995 _In_reads_opt_(cwcBaseFaceName) LPCWSTR pBaseFaceName,
2996 _In_ UINT cwcBaseFaceName,
2997 _In_reads_(cwcEudcFontPath) LPCWSTR pEudcFontPath,
2998 _In_ UINT cwcEudcFontPath,
2999 _In_ INT iPriority,
3000 _In_ INT iFontLinkType,
3001 _In_ BOOL bLoadLin);
3002
3003 __kernel_entry
3004 W32KAPI
3005 UINT
3006 APIENTRY
3007 NtGdiGetStringBitmapW(
3008 _In_ HDC hdc,
3009 _In_ LPWSTR pwsz,
3010 _In_ UINT cwc,
3011 _Out_writes_bytes_(cj) BYTE *lpSB,
3012 _In_ UINT cj);
3013
3014 __kernel_entry
3015 W32KAPI
3016 ULONG
3017 APIENTRY
3018 NtGdiGetEudcTimeStampEx(
3019 _In_reads_opt_(cwcBaseFaceName) LPWSTR lpBaseFaceName,
3020 _In_ ULONG cwcBaseFaceName,
3021 _In_ BOOL bSystemTimeStamp);
3022
3023 __kernel_entry
3024 W32KAPI
3025 ULONG
3026 APIENTRY
3027 NtGdiQueryFontAssocInfo(
3028 _In_ HDC hdc);
3029
3030 __kernel_entry
3031 W32KAPI
3032 DWORD
3033 APIENTRY
3034 NtGdiGetFontUnicodeRanges(
3035 _In_ HDC hdc,
3036 _Out_ _Post_bytecount_(return) LPGLYPHSET pgs);
3037
3038 #ifdef LANGPACK
3039 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
3040 __kernel_entry
3041 W32KAPI
3042 BOOL
3043 NtGdiGetRealizationInfo(
3044 _In_ HDC hdc,
3045 _Out_ PFONT_REALIZATION_INFO pri);
3046 #else
3047 __kernel_entry
3048 W32KAPI
3049 BOOL
3050 APIENTRY
3051 NtGdiGetRealizationInfo(
3052 _In_ HDC hdc,
3053 _Out_ PREALIZATION_INFO pri,
3054 _In_ HFONT hf);
3055 #endif
3056 #endif
3057
3058 __kernel_entry
3059 W32KAPI
3060 BOOL
3061 APIENTRY
3062 NtGdiAddRemoteMMInstanceToDC(
3063 _In_ HDC hdc,
3064 _In_reads_bytes_(cjDDV) DOWNLOADDESIGNVECTOR *pddv,
3065 _In_ ULONG cjDDV);
3066
3067 __kernel_entry
3068 W32KAPI
3069 BOOL
3070 APIENTRY
3071 NtGdiUnloadPrinterDriver(
3072 _In_reads_bytes_(cbDriverName) LPWSTR pDriverName,
3073 _In_ ULONG cbDriverName);
3074
3075 __kernel_entry
3076 W32KAPI
3077 BOOL
3078 APIENTRY
3079 NtGdiInitSpool(
3080 VOID);
3081
3082 __kernel_entry
3083 W32KAPI
3084 INT
3085 APIENTRY
3086 NtGdiGetSpoolMessage(
3087 DWORD u1,
3088 DWORD u2,
3089 DWORD u3,
3090 DWORD u4);
3091
3092 __kernel_entry
3093 W32KAPI
3094 BOOL
3095 APIENTRY
3096 NtGdiEngAssociateSurface(
3097 _In_ HSURF hsurf,
3098 _In_ HDEV hdev,
3099 _In_ FLONG flHooks);
3100
3101 __kernel_entry
3102 W32KAPI
3103 BOOL
3104 APIENTRY
3105 NtGdiEngEraseSurface(
3106 _In_ SURFOBJ *pso,
3107 _In_ RECTL *prcl,
3108 _In_ ULONG iColor);
3109
3110 __kernel_entry
3111 W32KAPI
3112 HBITMAP
3113 APIENTRY
3114 NtGdiEngCreateBitmap(
3115 _In_ SIZEL sizl,
3116 _In_ LONG lWidth,
3117 _In_ ULONG iFormat,
3118 _In_ FLONG fl,
3119 _In_opt_ PVOID pvBits);
3120
3121 __kernel_entry
3122 W32KAPI
3123 BOOL
3124 APIENTRY
3125 NtGdiEngDeleteSurface(
3126 _In_ HSURF hsurf);
3127
3128 __kernel_entry
3129 W32KAPI
3130 SURFOBJ*
3131 APIENTRY
3132 NtGdiEngLockSurface(
3133 _In_ HSURF hsurf);
3134
3135 __kernel_entry
3136 W32KAPI
3137 NTSTATUS
3138 APIENTRY
3139 NtGdiEngUnlockSurface(
3140 _In_ SURFOBJ *pso);
3141
3142 __kernel_entry
3143 W32KAPI
3144 BOOL
3145 APIENTRY
3146 NtGdiEngMarkBandingSurface(
3147 _In_ HSURF hsurf);
3148
3149 __kernel_entry
3150 W32KAPI
3151 HSURF
3152 APIENTRY
3153 NtGdiEngCreateDeviceSurface(
3154 _In_ DHSURF dhsurf,
3155 _In_ SIZEL sizl,
3156 _In_ ULONG iFormatCompat);
3157
3158 __kernel_entry
3159 W32KAPI
3160 HBITMAP
3161 APIENTRY
3162 NtGdiEngCreateDeviceBitmap(
3163 _In_ DHSURF dhsurf,
3164 _In_ SIZEL sizl,
3165 _In_ ULONG iFormatCompat);
3166
3167 __kernel_entry
3168 W32KAPI
3169 BOOL
3170 APIENTRY
3171 NtGdiEngCopyBits(
3172 _In_ SURFOBJ *psoDst,
3173 _In_ SURFOBJ *psoSrc,
3174 _In_opt_ CLIPOBJ *pco,
3175 _In_opt_ XLATEOBJ *pxlo,
3176 _In_ RECTL *prclDst,
3177 _In_ POINTL *pptlSrc);
3178
3179 __kernel_entry
3180 W32KAPI
3181 BOOL
3182 APIENTRY
3183 NtGdiEngStretchBlt(
3184 _In_ SURFOBJ *psoDest,
3185 _In_ SURFOBJ *psoSrc,
3186 _In_opt_ SURFOBJ *psoMask,
3187 _In_opt_ CLIPOBJ *pco,
3188 _In_opt_ XLATEOBJ *pxlo,
3189 _In_opt_ COLORADJUSTMENT *pca,
3190 _In_ POINTL *pptlHTOrg,
3191 _In_ RECTL *prclDest,
3192 _In_ RECTL *prclSrc,
3193 _In_opt_ POINTL *pptlMask,
3194 _In_ ULONG iMode);
3195
3196 __kernel_entry
3197 W32KAPI
3198 BOOL
3199 APIENTRY
3200 NtGdiEngBitBlt(
3201 _In_ SURFOBJ *psoTrg,
3202 _In_opt_ SURFOBJ *psoSrc,
3203 _In_opt_ SURFOBJ *psoMask,
3204 _In_opt_ CLIPOBJ *pco,
3205 _In_opt_ XLATEOBJ *pxlo,
3206 _In_ RECTL *prclTrg,
3207 _In_opt_ POINTL *pptlSrc,
3208 _In_opt_ POINTL *pptlMask,
3209 _In_opt_ BRUSHOBJ *pbo,
3210 _In_opt_ POINTL *pptlBrush,
3211 _In_ ROP4 rop4);
3212
3213 __kernel_entry
3214 W32KAPI
3215 BOOL
3216 APIENTRY
3217 NtGdiEngPlgBlt(
3218 _In_ SURFOBJ *psoTrg,
3219 _In_ SURFOBJ *psoSrc,
3220 _In_opt_ SURFOBJ *psoMsk,
3221 _In_ CLIPOBJ *pco,
3222 _In_opt_ XLATEOBJ *pxlo,
3223 _In_ COLORADJUSTMENT *pca,
3224 _In_ POINTL *pptlBrushOrg,
3225 _In_ POINTFIX *pptfx,
3226 _In_ RECTL *prcl,
3227 _In_opt_ POINTL *pptl,
3228 _In_ ULONG iMode);
3229
3230 __kernel_entry
3231 W32KAPI
3232 HPALETTE
3233 APIENTRY
3234 NtGdiEngCreatePalette(
3235 _In_ ULONG iMode,
3236 _In_ ULONG cColors,
3237 _In_ ULONG *pulColors,
3238 _In_ FLONG flRed,
3239 _In_ FLONG flGreen,
3240 _In_ FLONG flBlue);
3241
3242 __kernel_entry
3243 W32KAPI
3244 BOOL
3245 APIENTRY
3246 NtGdiEngDeletePalette(
3247 _In_ HPALETTE hPal);
3248
3249 __kernel_entry
3250 W32KAPI
3251 BOOL
3252 APIENTRY
3253 NtGdiEngStrokePath(
3254 _In_ SURFOBJ *pso,
3255 _In_ PATHOBJ *ppo,
3256 _In_ CLIPOBJ *pco,
3257 _In_ XFORMOBJ *pxo,
3258 _In_ BRUSHOBJ *pbo,
3259 _In_ POINTL *pptlBrushOrg,
3260 _In_ LINEATTRS *plineattrs,
3261 _In_ MIX mix);
3262
3263 __kernel_entry
3264 W32KAPI
3265 BOOL
3266 APIENTRY
3267 NtGdiEngFillPath(
3268 _In_ SURFOBJ *pso,
3269 _In_ PATHOBJ *ppo,
3270 _In_ CLIPOBJ *pco,
3271 _In_ BRUSHOBJ *pbo,
3272 _In_ POINTL *pptlBrushOrg,
3273 _In_ MIX mix,
3274 _In_ FLONG flOptions);
3275
3276 __kernel_entry
3277 W32KAPI
3278 BOOL
3279 APIENTRY
3280 NtGdiEngStrokeAndFillPath(
3281 _In_ SURFOBJ *pso,
3282 _In_ PATHOBJ *ppo,
3283 _In_ CLIPOBJ *pco,IN XFORMOBJ *pxo,
3284 _In_ BRUSHOBJ *pboStroke,
3285 _In_ LINEATTRS *plineattrs,
3286 _In_ BRUSHOBJ *pboFill,
3287 _In_ POINTL *pptlBrushOrg,
3288 _In_ MIX mix,
3289 _In_ FLONG flOptions);
3290
3291 __kernel_entry
3292 W32KAPI
3293 BOOL
3294 APIENTRY
3295 NtGdiEngPaint(
3296 _In_ SURFOBJ *pso,
3297 _In_ CLIPOBJ *pco,
3298 _In_ BRUSHOBJ *pbo,
3299 _In_ POINTL *pptlBrushOrg,
3300 _In_ MIX mix);
3301
3302 __kernel_entry
3303 W32KAPI
3304 BOOL
3305 APIENTRY
3306 NtGdiEngLineTo(
3307 _In_ SURFOBJ *pso,
3308 _In_ CLIPOBJ *pco,
3309 _In_ BRUSHOBJ *pbo,
3310 _In_ LONG x1,
3311 _In_ LONG y1,
3312 _In_ LONG x2,
3313 _In_ LONG y2,
3314 _In_ RECTL *prclBounds,
3315 _In_ MIX mix);
3316
3317 __kernel_entry
3318 W32KAPI
3319 BOOL
3320 APIENTRY
3321 NtGdiEngAlphaBlend(
3322 _In_ SURFOBJ *psoDest,
3323 _In_ SURFOBJ *psoSrc,
3324 _In_ CLIPOBJ *pco,
3325 _In_ XLATEOBJ *pxlo,
3326 _In_ RECTL *prclDest,
3327 _In_ RECTL *prclSrc,
3328 _In_ BLENDOBJ *pBlendObj);
3329
3330 __kernel_entry
3331 W32KAPI
3332 BOOL
3333 APIENTRY
3334 NtGdiEngGradientFill(
3335 _In_ SURFOBJ *psoDest,
3336 _In_ CLIPOBJ *pco,
3337 _In_ XLATEOBJ *pxlo,
3338 _In_reads_(nVertex) TRIVERTEX *pVertex,
3339 _In_ ULONG nVertex,
3340 _In_ /* _In_reads_(nMesh) */ PVOID pMesh,
3341 _In_ ULONG nMesh,
3342 _In_ RECTL *prclExtents,
3343 _In_ POINTL *pptlDitherOrg,
3344 _In_ ULONG ulMode);
3345
3346 __kernel_entry
3347 W32KAPI
3348 BOOL
3349 APIENTRY
3350 NtGdiEngTransparentBlt(
3351 _In_ SURFOBJ *psoDst,
3352 _In_ SURFOBJ *psoSrc,
3353 _In_ CLIPOBJ *pco,
3354 _In_ XLATEOBJ *pxlo,
3355 _In_ RECTL *prclDst,
3356 _In_ RECTL *prclSrc,
3357 _In_ ULONG iTransColor,
3358 _In_ ULONG ulReserved);
3359
3360 __kernel_entry
3361 W32KAPI
3362 BOOL
3363 APIENTRY
3364 NtGdiEngTextOut(
3365 _In_ SURFOBJ *pso,
3366 _In_ STROBJ *pstro,
3367 _In_ FONTOBJ *pfo,
3368 _In_ CLIPOBJ *pco,
3369 _In_ RECTL *prclExtra,
3370 _In_ RECTL *prclOpaque,
3371 _In_ BRUSHOBJ *pboFore,
3372 _In_ BRUSHOBJ *pboOpaque,
3373 _In_ POINTL *pptlOrg,
3374 _In_ MIX mix);
3375
3376 __kernel_entry
3377 W32KAPI
3378 BOOL
3379 APIENTRY
3380 NtGdiEngStretchBltROP(
3381 _In_ SURFOBJ *psoTrg,
3382 _In_ SURFOBJ *psoSrc,
3383 _In_ SURFOBJ *psoMask,
3384 _In_ CLIPOBJ *pco,
3385 _In_ XLATEOBJ *pxlo,
3386 _In_ COLORADJUSTMENT *pca,
3387 _In_ POINTL *pptlBrushOrg,
3388 _In_ RECTL *prclTrg,
3389 _In_ RECTL *prclSrc,
3390 _In_ POINTL *pptlMask,
3391 _In_ ULONG iMode,
3392 _In_ BRUSHOBJ *pbo,
3393 _In_ ROP4 rop4);
3394
3395 __kernel_entry
3396 W32KAPI
3397 ULONG
3398 APIENTRY
3399 NtGdiXLATEOBJ_cGetPalette(
3400 _In_ XLATEOBJ *pxlo,
3401 _In_ ULONG iPal,
3402 _In_ ULONG cPal,
3403 _Out_writes_(cPal) ULONG *pPal);
3404
3405 __kernel_entry
3406 W32KAPI
3407 ULONG
3408 APIENTRY
3409 NtGdiCLIPOBJ_cEnumStart(
3410 _In_ CLIPOBJ *pco,
3411 _In_ BOOL bAll,
3412 _In_ ULONG iType,
3413 _In_ ULONG iDirection,
3414 _In_ ULONG cLimit);
3415
3416 __kernel_entry
3417 W32KAPI
3418 BOOL
3419 APIENTRY
3420 NtGdiCLIPOBJ_bEnum(
3421 _In_ CLIPOBJ *pco,
3422 _In_ ULONG cj,
3423 _Out_writes_bytes_(cj) ULONG *pul);
3424
3425 __kernel_entry
3426 W32KAPI
3427 PATHOBJ*
3428 APIENTRY
3429 NtGdiCLIPOBJ_ppoGetPath(
3430 _In_ CLIPOBJ *pco);
3431
3432 __kernel_entry
3433 W32KAPI
3434 CLIPOBJ*
3435 APIENTRY
3436 NtGdiEngCreateClip(
3437 VOID);
3438
3439 __kernel_entry
3440 W32KAPI
3441 NTSTATUS
3442 APIENTRY
3443 NtGdiEngDeleteClip(
3444 _In_ CLIPOBJ*pco);
3445
3446 __kernel_entry
3447 W32KAPI
3448 PVOID
3449 APIENTRY
3450 NtGdiBRUSHOBJ_pvAllocRbrush(
3451 _In_ BRUSHOBJ *pbo,
3452 _In_ ULONG cj);
3453
3454 __kernel_entry
3455 W32KAPI
3456 PVOID
3457 APIENTRY
3458 NtGdiBRUSHOBJ_pvGetRbrush(
3459 _In_ BRUSHOBJ *pbo);
3460
3461 __kernel_entry
3462 W32KAPI
3463 ULONG
3464 APIENTRY
3465 NtGdiBRUSHOBJ_ulGetBrushColor(
3466 _In_ BRUSHOBJ *pbo);
3467
3468 __kernel_entry
3469 W32KAPI
3470 HANDLE
3471 APIENTRY
3472 NtGdiBRUSHOBJ_hGetColorTransform(
3473 _In_ BRUSHOBJ *pbo);
3474
3475 __kernel_entry
3476 W32KAPI
3477 BOOL
3478 APIENTRY
3479 NtGdiXFORMOBJ_bApplyXform(
3480 _In_ XFORMOBJ *pxo,
3481 _In_ ULONG iMode,
3482 _In_ ULONG cPoints,
3483 _In_reads_(cPoints) PPOINTL pptIn,
3484 _Out_writes_(cPoints) PPOINTL pptOut);
3485
3486 __kernel_entry
3487 W32KAPI
3488 ULONG
3489 APIENTRY
3490 NtGdiXFORMOBJ_iGetXform(
3491 _In_ XFORMOBJ *pxo,
3492 _Out_opt_ XFORML *pxform);
3493
3494 __kernel_entry
3495 W32KAPI
3496 NTSTATUS
3497 APIENTRY
3498 NtGdiFONTOBJ_vGetInfo(
3499 _In_ FONTOBJ *pfo,
3500 _In_ ULONG cjSize,
3501 _Out_writes_bytes_(cjSize) FONTINFO *pfi);
3502
3503 __kernel_entry
3504 W32KAPI
3505 ULONG
3506 APIENTRY
3507 NtGdiFONTOBJ_cGetGlyphs(
3508 _In_ FONTOBJ *pfo,
3509 _In_ ULONG iMode,
3510 _In_ ULONG cGlyph,
3511 _In_ HGLYPH *phg,
3512 _At_((GLYPHDATA**)ppvGlyph, _Outptr_) PVOID *ppvGlyph);
3513
3514 __kernel_entry
3515 W32KAPI
3516 XFORMOBJ*
3517 APIENTRY
3518 NtGdiFONTOBJ_pxoGetXform(
3519 _In_ FONTOBJ *pfo);
3520
3521 __kernel_entry
3522 W32KAPI
3523 IFIMETRICS*
3524 APIENTRY
3525 NtGdiFONTOBJ_pifi(
3526 _In_ FONTOBJ *pfo);
3527
3528 __kernel_entry
3529 W32KAPI
3530 FD_GLYPHSET*
3531 APIENTRY
3532 NtGdiFONTOBJ_pfdg(
3533 _In_ FONTOBJ *pfo);
3534
3535 __kernel_entry
3536 W32KAPI
3537 ULONG
3538 APIENTRY
3539 NtGdiFONTOBJ_cGetAllGlyphHandles(
3540 _In_ FONTOBJ *pfo,
3541 _Out_opt_ _Post_count_(return) HGLYPH *phg);
3542
3543 __kernel_entry
3544 W32KAPI
3545 PVOID
3546 APIENTRY
3547 NtGdiFONTOBJ_pvTrueTypeFontFile(
3548 _In_ FONTOBJ *pfo,
3549 _Out_ ULONG *pcjFile);
3550
3551 __kernel_entry
3552 W32KAPI
3553 PFD_GLYPHATTR
3554 APIENTRY
3555 NtGdiFONTOBJ_pQueryGlyphAttrs(
3556 _In_ FONTOBJ *pfo,
3557 _In_ ULONG iMode);
3558
3559 __kernel_entry
3560 W32KAPI
3561 BOOL
3562 APIENTRY
3563 NtGdiSTROBJ_bEnum(
3564 _In_ STROBJ *pstro,
3565 _Out_ ULONG *pc,
3566 _Outptr_result_buffer_(*pc) PGLYPHPOS *ppgpos);
3567
3568 __kernel_entry
3569 W32KAPI
3570 BOOL
3571 APIENTRY
3572 NtGdiSTROBJ_bEnumPositionsOnly(
3573 _In_ STROBJ *pstro,
3574 _Out_ ULONG *pc,
3575 _Outptr_result_buffer_(*pc) PGLYPHPOS *ppgpos);
3576
3577 __kernel_entry
3578 W32KAPI
3579 NTSTATUS
3580 APIENTRY
3581 NtGdiSTROBJ_vEnumStart(
3582 _Inout_ STROBJ *pstro);
3583
3584 __kernel_entry
3585 W32KAPI
3586 DWORD
3587 APIENTRY
3588 NtGdiSTROBJ_dwGetCodePage(
3589 _In_ STROBJ *pstro);
3590
3591 __kernel_entry
3592 W32KAPI
3593 BOOL
3594 APIENTRY
3595 NtGdiSTROBJ_bGetAdvanceWidths(
3596 _In_ STROBJ*pstro,
3597 _In_ ULONG iFirst,
3598 _In_ ULONG c,
3599 _Out_writes_(c) POINTQF*pptqD);
3600
3601 __kernel_entry
3602 W32KAPI
3603 FD_GLYPHSET*
3604 APIENTRY
3605 NtGdiEngComputeGlyphSet(
3606 _In_ INT nCodePage,
3607 _In_ INT nFirstChar,
3608 _In_ INT cChars);
3609
3610 __kernel_entry
3611 W32KAPI
3612 ULONG
3613 APIENTRY
3614 NtGdiXLATEOBJ_iXlate(
3615 _In_ XLATEOBJ *pxlo,
3616 _In_ ULONG iColor);
3617
3618 __kernel_entry
3619 W32KAPI
3620 HANDLE
3621 APIENTRY
3622 NtGdiXLATEOBJ_hGetColorTransform(
3623 _In_ XLATEOBJ *pxlo);
3624
3625 __kernel_entry
3626 W32KAPI
3627 NTSTATUS
3628 APIENTRY
3629 NtGdiPATHOBJ_vGetBounds(
3630 _In_ PATHOBJ *ppo,
3631 _Out_ PRECTFX prectfx);
3632
3633 __kernel_entry
3634 W32KAPI
3635 BOOL
3636 APIENTRY
3637 NtGdiPATHOBJ_bEnum(
3638 _In_ PATHOBJ *ppo,
3639 _Out_ PATHDATA *ppd);
3640
3641 __kernel_entry
3642 W32KAPI
3643 NTSTATUS
3644 APIENTRY
3645 NtGdiPATHOBJ_vEnumStart(
3646 _In_ PATHOBJ *ppo);
3647
3648 __kernel_entry
3649 W32KAPI
3650 NTSTATUS
3651 APIENTRY
3652 NtGdiEngDeletePath(
3653 _In_ PATHOBJ *ppo);
3654
3655 __kernel_entry
3656 W32KAPI
3657 NTSTATUS
3658 APIENTRY
3659 NtGdiPATHOBJ_vEnumStartClipLines(
3660 _In_ PATHOBJ *ppo,
3661 _In_ CLIPOBJ *pco,
3662 _In_ SURFOBJ *pso,
3663 _In_ LINEATTRS *pla);
3664
3665 __kernel_entry
3666 W32KAPI
3667 BOOL
3668 APIENTRY
3669 NtGdiPATHOBJ_bEnumClipLines(
3670 _In_ PATHOBJ *ppo,
3671 _In_ ULONG cb,
3672 _Out_writes_bytes_(cb) CLIPLINE *pcl);
3673
3674 __kernel_entry
3675 W32KAPI
3676 BOOL
3677 APIENTRY
3678 NtGdiEngCheckAbort(
3679 _In_ SURFOBJ *pso);
3680
3681 __kernel_entry
3682 W32KAPI
3683 DHPDEV
3684 APIENTRY
3685 NtGdiGetDhpdev(
3686 _In_ HDEV hdev);
3687
3688 __kernel_entry
3689 W32KAPI
3690 LONG
3691 APIENTRY
3692 NtGdiHT_Get8BPPFormatPalette(
3693 _Out_opt_ _Post_count_(return) LPPALETTEENTRY pPaletteEntry,
3694 _In_ USHORT RedGamma,
3695 _In_ USHORT GreenGamma,
3696 _In_ USHORT BlueGamma);
3697
3698 __kernel_entry
3699 W32KAPI
3700 LONG
3701 APIENTRY
3702 NtGdiHT_Get8BPPMaskPalette(
3703 _Out_opt_ _Post_count_(return) LPPALETTEENTRY pPaletteEntry,
3704 _In_ BOOL Use8BPPMaskPal,
3705 _In_ BYTE CMYMask,
3706 _In_ USHORT RedGamma,
3707 _In_ USHORT GreenGamma,
3708 _In_ USHORT BlueGamma);
3709
3710 __kernel_entry
3711 W32KAPI
3712 BOOL
3713 APIENTRY
3714 NtGdiUpdateTransform(
3715 _In_ HDC hdc);
3716
3717 __kernel_entry
3718 W32KAPI
3719 DWORD
3720 APIENTRY
3721 NtGdiSetLayout(
3722 _In_ HDC hdc,
3723 _In_ LONG wox,
3724 _In_ DWORD dwLayout);
3725
3726 __kernel_entry
3727 W32KAPI
3728 BOOL
3729 APIENTRY
3730 NtGdiMirrorWindowOrg(
3731 _In_ HDC hdc);
3732
3733 __kernel_entry
3734 W32KAPI
3735 LONG
3736 APIENTRY
3737 NtGdiGetDeviceWidth(
3738 _In_ HDC hdc);
3739
3740 __kernel_entry
3741 W32KAPI
3742 NTSTATUS
3743 APIENTRY
3744 NtGdiSetUMPDSandboxState(
3745 _In_ BOOL bEnabled);
3746
3747 __kernel_entry
3748 W32KAPI
3749 BOOL
3750 APIENTRY
3751 NtGdiSetPUMPDOBJ(
3752 _In_opt_ HUMPD humpd,
3753 _In_ BOOL bStoreID,
3754 _Inout_opt_ HUMPD *phumpd,
3755 _Out_opt_ BOOL *pbWOW64);
3756
3757 __kernel_entry
3758 W32KAPI
3759 BOOL
3760 APIENTRY
3761 NtGdiBRUSHOBJ_DeleteRbrush(
3762 _In_opt_ BRUSHOBJ *pbo,
3763 _In_opt_ BRUSHOBJ *pboB);
3764
3765 __kernel_entry
3766 W32KAPI
3767 BOOL
3768 APIENTRY
3769 NtGdiUMPDEngFreeUserMem(
3770 _In_ KERNEL_PVOID *ppv);
3771
3772 __kernel_entry
3773 W32KAPI
3774 HBITMAP
3775 APIENTRY
3776 NtGdiSetBitmapAttributes(
3777 _In_ HBITMAP hbm,
3778 _In_ DWORD dwFlags);
3779
3780 __kernel_entry
3781 W32KAPI
3782 HBITMAP
3783 APIENTRY
3784 NtGdiClearBitmapAttributes(
3785 _In_ HBITMAP hbm,
3786 _In_ DWORD dwFlags);
3787
3788 __kernel_entry
3789 W32KAPI
3790 HBRUSH
3791 APIENTRY
3792 NtGdiSetBrushAttributes(
3793 _In_ HBRUSH hbm,
3794 _In_ DWORD dwFlags);
3795
3796 __kernel_entry
3797 W32KAPI
3798 HBRUSH
3799 APIENTRY
3800 NtGdiClearBrushAttributes(
3801 _In_ HBRUSH hbm,
3802 _In_ DWORD dwFlags);
3803
3804 __kernel_entry
3805 W32KAPI
3806 BOOL
3807 APIENTRY
3808 NtGdiDrawStream(
3809 _In_ HDC hdcDst,
3810 _In_ ULONG cjIn,
3811 _In_reads_bytes_(cjIn) VOID *pvIn);
3812
3813 __kernel_entry
3814 W32KAPI
3815 BOOL
3816 APIENTRY
3817 NtGdiMakeObjectXferable(
3818 _In_ HANDLE h,
3819 _In_ DWORD dwProcessId);
3820
3821 __kernel_entry
3822 W32KAPI
3823 BOOL
3824 APIENTRY
3825 NtGdiMakeObjectUnXferable(
3826 _In_ HANDLE h);
3827
3828 #ifdef PRIVATE_DWM_INTERFACE
3829
3830 __kernel_entry
3831 W32KAPI
3832 BOOL
3833 NtGdiSfmRegisterLogicalSurfaceForSignaling(
3834 _In_ HLSURF hlsurf,
3835 BOOL fSignalOnDirty);
3836
3837 __kernel_entry
3838 W32KAPI
3839 BOOL
3840 NtGdiDwmGetHighColorMode(
3841 _Out_ DXGI_FORMAT* pdxgiFormat);
3842
3843 __kernel_entry
3844 W32KAPI
3845 BOOL
3846 NtGdiDwmSetHighColorMode(
3847 _In_ DXGI_FORMAT dxgiFormat);
3848
3849 __kernel_entry
3850 W32KAPI
3851 HANDLE
3852 NtGdiDwmCaptureScreen(
3853 _In_ const RECT* prcCapture,
3854 _In_ DXGI_FORMAT dxgiFormat);
3855
3856 __kernel_entry
3857 W32KAPI
3858 NTSTATUS
3859 APIENTRY
3860 NtGdiDdCreateFullscreenSprite(
3861 _In_ HDC hdc,
3862 _In_ COLORREF crKey,
3863 _Out_ HANDLE* phSprite,
3864 _Out_ HDC* phdcSprite);
3865
3866 __kernel_entry
3867 W32KAPI
3868 NTSTATUS
3869 APIENTRY
3870 NtGdiDdNotifyFullscreenSpriteUpdate(
3871 _In_ HDC hdc,
3872 _In_ HANDLE hSprite);
3873
3874 __kernel_entry
3875 W32KAPI
3876 NTSTATUS
3877 APIENTRY
3878 NtGdiDdDestroyFullscreenSprite(
3879 _In_ HDC hdc,
3880 _In_ HANDLE hSprite);
3881
3882 __kernel_entry
3883 W32KAPI
3884 ULONG
3885 APIENTRY
3886 NtGdiDdQueryVisRgnUniqueness(
3887 VOID);
3888
3889 __kernel_entry
3890 W32KAPI
3891 BOOL
3892 APIENTRY
3893 NtGdiHLSurfGetInformation(
3894 _In_ HLSURF hlsurf,
3895 _In_ HLSURF_INFORMATION_CLASS InformationClass,
3896 _In_reads_bytes_opt_(*pcjInfoBuffer) PVOID pvInfoBuffer,
3897 _Inout_ PULONG pcjInfoBuffer);
3898
3899 __kernel_entry
3900 W32KAPI
3901 BOOL
3902 APIENTRY
3903 NtGdiHLSurfSetInformation(
3904 _In_ HLSURF hlsurf,
3905 _In_ HLSURF_INFORMATION_CLASS InformationClass,
3906 _In_reads_bytes_opt_(cjInfoBuffer) PVOID pvInfoBuffer,
3907 _In_ ULONG cjInfoBuffer);
3908
3909 __kernel_entry
3910 W32KAPI
3911 BOOL
3912 APIENTRY
3913 NtGdiDwmCreatedBitmapRemotingOutput(
3914 VOID);
3915
3916 __kernel_entry
3917 W32KAPI
3918 NTSTATUS
3919 APIENTRY
3920 NtGdiGetCurrentDpiInfo(
3921 _In_ HMONITOR hmon,
3922 _Out_ PVOID pvStruct);
3923
3924 #endif /* PRIVATE_DWM_INTERFACE */
3925
3926 #endif /* _NTGDI_ */