Merge the following revisions from kernel-fun branch:
[reactos.git] / reactos / 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) LPWSTR 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_((iFunc == GdiPalGetEntries) || (iFunc == GdiPalGetSystemEntries), _Out_writes_bytes_(cEntries*sizeof(PALETTEENTRY)))
443 _When_((iFunc != GdiPalGetEntries) && (iFunc != GdiPalGetSystemEntries), _In_reads_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 /* Not in MS ntgdi.h */
1768 __kernel_entry
1769 W32KAPI
1770 NTSTATUS
1771 APIENTRY
1772 NtGdiFlushUserBatch(
1773 VOID);
1774
1775 __kernel_entry
1776 W32KAPI
1777 HRGN
1778 APIENTRY
1779 NtGdiPathToRegion(
1780 _In_ HDC hdc);
1781
1782 __kernel_entry
1783 W32KAPI
1784 BOOL
1785 APIENTRY
1786 NtGdiSetMiterLimit(
1787 _In_ HDC hdc,
1788 _In_ DWORD dwNew,
1789 _Inout_opt_ PDWORD pdwOut);
1790
1791 __kernel_entry
1792 W32KAPI
1793 BOOL
1794 APIENTRY
1795 NtGdiSetFontXform(
1796 _In_ HDC hdc,
1797 _In_ DWORD dwxScale,
1798 _In_ DWORD dwyScale);
1799
1800 _Success_(return != FALSE)
1801 __kernel_entry
1802 W32KAPI
1803 BOOL
1804 APIENTRY
1805 NtGdiGetMiterLimit(
1806 _In_ HDC hdc,
1807 _Out_ PDWORD pdwOut);
1808
1809 __kernel_entry
1810 W32KAPI
1811 BOOL
1812 APIENTRY
1813 NtGdiEllipse(
1814 _In_ HDC hdc,
1815 _In_ INT xLeft,
1816 _In_ INT yTop,
1817 _In_ INT xRight,
1818 _In_ INT yBottom);
1819
1820 __kernel_entry
1821 W32KAPI
1822 BOOL
1823 APIENTRY
1824 NtGdiRectangle(
1825 _In_ HDC hdc,
1826 _In_ INT xLeft,
1827 _In_ INT yTop,
1828 _In_ INT xRight,
1829 _In_ INT yBottom);
1830
1831 __kernel_entry
1832 W32KAPI
1833 BOOL
1834 APIENTRY
1835 NtGdiRoundRect(
1836 _In_ HDC hdc,
1837 _In_ INT x1,
1838 _In_ INT y1,
1839 _In_ INT x2,
1840 _In_ INT y2,
1841 _In_ INT x3,
1842 _In_ INT y3);
1843
1844 __kernel_entry
1845 W32KAPI
1846 BOOL
1847 APIENTRY
1848 NtGdiPlgBlt(
1849 _In_ HDC hdcTrg,
1850 _In_reads_(3) LPPOINT pptlTrg,
1851 _In_ HDC hdcSrc,
1852 _In_ INT xSrc,
1853 _In_ INT ySrc,
1854 _In_ INT cxSrc,
1855 _In_ INT cySrc,
1856 _In_opt_ HBITMAP hbmMask,
1857 _In_ INT xMask,
1858 _In_ INT yMask,
1859 _In_ DWORD crBackColor);
1860
1861 __kernel_entry
1862 W32KAPI
1863 BOOL
1864 APIENTRY
1865 NtGdiMaskBlt(
1866 _In_ HDC hdc,
1867 _In_ INT xDst,
1868 _In_ INT yDst,
1869 _In_ INT cx,
1870 _In_ INT cy,
1871 _In_ HDC hdcSrc,
1872 _In_ INT xSrc,
1873 _In_ INT ySrc,
1874 _In_opt_ HBITMAP hbmMask,
1875 _In_ INT xMask,
1876 _In_ INT yMask,
1877 _In_ DWORD dwRop4,
1878 _In_ DWORD crBackColor);
1879
1880 __kernel_entry
1881 W32KAPI
1882 BOOL
1883 APIENTRY
1884 NtGdiExtFloodFill(
1885 _In_ HDC hdc,
1886 _In_ INT x,
1887 _In_ INT y,
1888 _In_ COLORREF crColor,
1889 _In_ UINT iFillType);
1890
1891 __kernel_entry
1892 W32KAPI
1893 BOOL
1894 APIENTRY
1895 NtGdiFillRgn(
1896 _In_ HDC hdc,
1897 _In_ HRGN hrgn,
1898 _In_ HBRUSH hbrush);
1899
1900 __kernel_entry
1901 W32KAPI
1902 BOOL
1903 APIENTRY
1904 NtGdiFrameRgn(
1905 _In_ HDC hdc,
1906 _In_ HRGN hrgn,
1907 _In_ HBRUSH hbrush,
1908 _In_ INT xWidth,
1909 _In_ INT yHeight);
1910
1911 __kernel_entry
1912 W32KAPI
1913 COLORREF
1914 APIENTRY
1915 NtGdiSetPixel(
1916 _In_ HDC hdcDst,
1917 _In_ INT x,
1918 _In_ INT y,
1919 _In_ COLORREF crColor);
1920
1921 __kernel_entry
1922 W32KAPI
1923 DWORD
1924 APIENTRY
1925 NtGdiGetPixel(
1926 _In_ HDC hdc,
1927 _In_ INT x,
1928 _In_ INT y);
1929
1930 __kernel_entry
1931 W32KAPI
1932 BOOL
1933 APIENTRY
1934 NtGdiStartPage(
1935 _In_ HDC hdc);
1936
1937 __kernel_entry
1938 W32KAPI
1939 BOOL
1940 APIENTRY
1941 NtGdiEndPage(
1942 _In_ HDC hdc);
1943
1944 __kernel_entry
1945 W32KAPI
1946 INT
1947 APIENTRY
1948 NtGdiStartDoc(
1949 _In_ HDC hdc,
1950 _In_ DOCINFOW *pdi,
1951 _Out_ BOOL *pbBanding,
1952 _In_ INT iJob);
1953
1954 __kernel_entry
1955 W32KAPI
1956 BOOL
1957 APIENTRY
1958 NtGdiEndDoc(
1959 _In_ HDC hdc);
1960
1961 __kernel_entry
1962 W32KAPI
1963 BOOL
1964 APIENTRY
1965 NtGdiAbortDoc(
1966 _In_ HDC hdc);
1967
1968 __kernel_entry
1969 W32KAPI
1970 BOOL
1971 APIENTRY
1972 NtGdiUpdateColors(
1973 _In_ HDC hdc);
1974
1975 __kernel_entry
1976 W32KAPI
1977 BOOL
1978 APIENTRY
1979 NtGdiGetCharWidthW(
1980 _In_ HDC hdc,
1981 _In_ UINT wcFirst,
1982 _In_ UINT cwc,
1983 _In_reads_opt_(cwc) PWCHAR pwc,
1984 _In_ FLONG fl,
1985 _Out_writes_bytes_(cwc * sizeof(ULONG)) PVOID pvBuf);
1986
1987 __kernel_entry
1988 W32KAPI
1989 BOOL
1990 APIENTRY
1991 NtGdiGetCharWidthInfo(
1992 _In_ HDC hdc,
1993 _Out_ PCHWIDTHINFO pChWidthInfo);
1994
1995 __kernel_entry
1996 W32KAPI
1997 INT
1998 APIENTRY
1999 NtGdiDrawEscape(
2000 _In_ HDC hdc,
2001 _In_ INT iEsc,
2002 _In_ INT cjIn,
2003 _In_reads_bytes_opt_(cjIn) LPSTR pjIn);
2004
2005 __kernel_entry
2006 W32KAPI
2007 INT
2008 APIENTRY
2009 NtGdiExtEscape(
2010 _In_opt_ HDC hdc,
2011 _In_reads_opt_(cwcDriver) PWCHAR pDriver,
2012 _In_ INT cwcDriver,
2013 _In_ INT iEsc,
2014 _In_ INT cjIn,
2015 _In_reads_bytes_opt_(cjIn) LPSTR pjIn,
2016 _In_ INT cjOut,
2017 _Out_writes_bytes_opt_(cjOut) LPSTR pjOut);
2018
2019 _Success_(return != GDI_ERROR)
2020 __kernel_entry
2021 W32KAPI
2022 ULONG
2023 APIENTRY
2024 NtGdiGetFontData(
2025 _In_ HDC hdc,
2026 _In_ DWORD dwTable,
2027 _In_ DWORD dwOffset,
2028 _Out_writes_bytes_to_opt_(cjBuf, return) PVOID pvBuf,
2029 _In_ ULONG cjBuf);
2030
2031 __kernel_entry
2032 W32KAPI
2033 DWORD
2034 APIENTRY
2035 NtGdiGetFontFileData(
2036 _In_ UINT uFileCollectionID,
2037 _In_ UINT uFileIndex,
2038 _In_ PULONGLONG pullFileOffset,
2039 _Out_writes_bytes_(cjBuf) PVOID pvBuf,
2040 _In_ SIZE_T cjBuf);
2041
2042 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
2043 __kernel_entry
2044 W32KAPI
2045 DWORD
2046 APIENTRY
2047 NtGdiGetFontFileInfo(
2048 _In_ UINT uFileCollectionID,
2049 _In_ UINT uFileIndex,
2050 _Out_writes_bytes_(cjSize) PFONT_FILE_INFO pffi,
2051 _In_ SIZE_T cjSize,
2052 _Out_opt_ PSIZE_T pcjActualSize);
2053 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN7) */
2054
2055 __kernel_entry
2056 W32KAPI
2057 ULONG
2058 APIENTRY
2059 NtGdiGetGlyphOutline(
2060 _In_ HDC hdc,
2061 _In_ WCHAR wch,
2062 _In_ UINT iFormat,
2063 _Out_ LPGLYPHMETRICS pgm,
2064 _In_ ULONG cjBuf,
2065 _Out_writes_bytes_opt_(cjBuf) PVOID pvBuf,
2066 _In_ LPMAT2 pmat2,
2067 _In_ BOOL bIgnoreRotation);
2068
2069 __kernel_entry
2070 W32KAPI
2071 BOOL
2072 APIENTRY
2073 NtGdiGetETM(
2074 _In_ HDC hdc,
2075 _Out_opt_ EXTTEXTMETRIC *petm);
2076
2077 __kernel_entry
2078 W32KAPI
2079 BOOL
2080 APIENTRY
2081 NtGdiGetRasterizerCaps(
2082 _Out_writes_bytes_(cjBytes) LPRASTERIZER_STATUS praststat,
2083 _In_ ULONG cjBytes);
2084
2085 __kernel_entry
2086 W32KAPI
2087 ULONG
2088 APIENTRY
2089 NtGdiGetKerningPairs(
2090 _In_ HDC hdc,
2091 _In_ ULONG cPairs,
2092 _Out_writes_to_opt_(cPairs, return) KERNINGPAIR *pkpDst);
2093
2094 __kernel_entry
2095 W32KAPI
2096 BOOL
2097 APIENTRY
2098 NtGdiMonoBitmap(
2099 _In_ HBITMAP hbm);
2100
2101 __kernel_entry
2102 W32KAPI
2103 HBITMAP
2104 APIENTRY
2105 NtGdiGetObjectBitmapHandle(
2106 _In_ HBRUSH hbr,
2107 _Out_ UINT *piUsage);
2108
2109 __kernel_entry
2110 W32KAPI
2111 ULONG
2112 APIENTRY
2113 NtGdiEnumObjects(
2114 _In_ HDC hdc,
2115 _In_ INT iObjectType,
2116 _In_ ULONG cjBuf,
2117 _Out_writes_bytes_opt_(cjBuf) PVOID pvBuf);
2118
2119 __kernel_entry
2120 W32KAPI
2121 BOOL
2122 APIENTRY
2123 NtGdiResetDC(
2124 _In_ HDC hdc,
2125 _In_ LPDEVMODEW pdm,
2126 _Out_ PBOOL pbBanding,
2127 _In_opt_ DRIVER_INFO_2W *pDriverInfo2,
2128 _At_((PUMDHPDEV*)ppUMdhpdev, _Out_) PVOID ppUMdhpdev);
2129
2130 __kernel_entry
2131 W32KAPI
2132 DWORD
2133 APIENTRY
2134 NtGdiSetBoundsRect(
2135 _In_ HDC hdc,
2136 _In_ LPRECT prc,
2137 _In_ DWORD f);
2138
2139 __kernel_entry
2140 W32KAPI
2141 BOOL
2142 APIENTRY
2143 NtGdiGetColorAdjustment(
2144 _In_ HDC hdc,
2145 _Out_ PCOLORADJUSTMENT pcaOut);
2146
2147 __kernel_entry
2148 W32KAPI
2149 BOOL
2150 APIENTRY
2151 NtGdiSetColorAdjustment(
2152 _In_ HDC hdc,
2153 _In_ PCOLORADJUSTMENT pca);
2154
2155 __kernel_entry
2156 W32KAPI
2157 BOOL
2158 APIENTRY
2159 NtGdiCancelDC(
2160 _In_ HDC hdc);
2161
2162 __kernel_entry
2163 W32KAPI
2164 HDC
2165 APIENTRY
2166 NtGdiOpenDCW(
2167 _In_opt_ PUNICODE_STRING pustrDevice,
2168 _In_ DEVMODEW *pdm,
2169 _In_ PUNICODE_STRING pustrLogAddr,
2170 _In_ ULONG iType,
2171 _In_ BOOL bDisplay,
2172 _In_opt_ HANDLE hspool,
2173 _In_opt_ DRIVER_INFO_2W *pDriverInfo2,
2174 _At_((PUMDHPDEV*)pUMdhpdev, _Out_) PVOID pUMdhpdev);
2175
2176 __kernel_entry
2177 W32KAPI
2178 BOOL
2179 APIENTRY
2180 NtGdiGetDCDword(
2181 _In_ HDC hdc,
2182 _In_ UINT u,
2183 _Out_ DWORD *Result);
2184
2185 _Success_(return!=FALSE)
2186 __kernel_entry
2187 W32KAPI
2188 BOOL
2189 APIENTRY
2190 NtGdiGetDCPoint(
2191 _In_ HDC hdc,
2192 _In_ UINT iPoint,
2193 _Out_ PPOINTL pptOut);
2194
2195 __kernel_entry
2196 W32KAPI
2197 BOOL
2198 APIENTRY
2199 NtGdiScaleViewportExtEx(
2200 _In_ HDC hdc,
2201 _In_ INT xNum,
2202 _In_ INT xDenom,
2203 _In_ INT yNum,
2204 _In_ INT yDenom,
2205 _Out_opt_ LPSIZE pszOut);
2206
2207 __kernel_entry
2208 W32KAPI
2209 BOOL
2210 APIENTRY
2211 NtGdiScaleWindowExtEx(
2212 _In_ HDC hdc,
2213 _In_ INT xNum,
2214 _In_ INT xDenom,
2215 _In_ INT yNum,
2216 _In_ INT yDenom,
2217 _Out_opt_ LPSIZE pszOut);
2218
2219 __kernel_entry
2220 W32KAPI
2221 BOOL
2222 APIENTRY
2223 NtGdiSetVirtualResolution(
2224 _In_ HDC hdc,
2225 _In_ INT cxVirtualDevicePixel,
2226 _In_ INT cyVirtualDevicePixel,
2227 _In_ INT cxVirtualDeviceMm,
2228 _In_ INT cyVirtualDeviceMm);
2229
2230 __kernel_entry
2231 W32KAPI
2232 BOOL
2233 APIENTRY
2234 NtGdiSetSizeDevice(
2235 _In_ HDC hdc,
2236 _In_ INT cxVirtualDevice,
2237 _In_ INT cyVirtualDevice);
2238
2239 _Success_(return !=FALSE)
2240 __kernel_entry
2241 W32KAPI
2242 BOOL
2243 APIENTRY
2244 NtGdiGetTransform(
2245 _In_ HDC hdc,
2246 _In_ DWORD iXform,
2247 _Out_ LPXFORM pxf);
2248
2249 __kernel_entry
2250 W32KAPI
2251 BOOL
2252 APIENTRY
2253 NtGdiModifyWorldTransform(
2254 _In_ HDC hdc,
2255 _In_opt_ LPXFORM pxf,
2256 _In_ DWORD iXform);
2257
2258 __kernel_entry
2259 W32KAPI
2260 BOOL
2261 APIENTRY
2262 NtGdiCombineTransform(
2263 _Out_ LPXFORM pxfDst,
2264 _In_ LPXFORM pxfSrc1,
2265 _In_ LPXFORM pxfSrc2);
2266
2267 __kernel_entry
2268 W32KAPI
2269 BOOL
2270 APIENTRY
2271 NtGdiTransformPoints(
2272 _In_ HDC hdc,
2273 _In_reads_(c) PPOINT pptIn,
2274 _Out_writes_(c) PPOINT pptOut,
2275 _In_ INT c,
2276 _In_ INT iMode);
2277
2278 __kernel_entry
2279 W32KAPI
2280 LONG
2281 APIENTRY
2282 NtGdiConvertMetafileRect(
2283 _In_ HDC hdc,
2284 _Inout_ PRECTL prect);
2285
2286 __kernel_entry
2287 W32KAPI
2288 INT
2289 APIENTRY
2290 NtGdiGetTextCharsetInfo(
2291 _In_ HDC hdc,
2292 _Out_opt_ LPFONTSIGNATURE lpSig,
2293 _In_ DWORD dwFlags);
2294
2295 __kernel_entry
2296 W32KAPI
2297 BOOL
2298 APIENTRY
2299 NtGdiDoBanding(
2300 _In_ HDC hdc,
2301 _In_ BOOL bStart,
2302 _Out_ POINTL *pptl,
2303 _Out_ PSIZE pSize);
2304
2305 __kernel_entry
2306 W32KAPI
2307 ULONG
2308 APIENTRY
2309 NtGdiGetPerBandInfo(
2310 _In_ HDC hdc,
2311 _Inout_ PERBANDINFO *ppbi);
2312
2313 __kernel_entry
2314 W32KAPI
2315 NTSTATUS
2316 APIENTRY
2317 NtGdiGetStats(
2318 _In_ HANDLE hProcess,
2319 _In_ INT iIndex,
2320 _In_ INT iPidType,
2321 _Out_writes_bytes_(cjResultSize) PVOID pResults,
2322 _In_ UINT cjResultSize);
2323
2324 __kernel_entry
2325 W32KAPI
2326 BOOL
2327 APIENTRY
2328 NtGdiSetMagicColors(
2329 _In_ HDC hdc,
2330 _In_ PALETTEENTRY peMagic,
2331 _In_ ULONG Index);
2332
2333 __kernel_entry
2334 W32KAPI
2335 HBRUSH
2336 APIENTRY
2337 NtGdiSelectBrush(
2338 _In_ HDC hdc,
2339 _In_ HBRUSH hbrush);
2340
2341 __kernel_entry
2342 W32KAPI
2343 HPEN
2344 APIENTRY
2345 NtGdiSelectPen(
2346 _In_ HDC hdc,
2347 _In_ HPEN hpen);
2348
2349 __kernel_entry
2350 W32KAPI
2351 HBITMAP
2352 APIENTRY
2353 NtGdiSelectBitmap(
2354 _In_ HDC hdc,
2355 _In_ HBITMAP hbm);
2356
2357 __kernel_entry
2358 W32KAPI
2359 HFONT
2360 APIENTRY
2361 NtGdiSelectFont(
2362 _In_ HDC hdc,
2363 _In_ HFONT hf);
2364
2365 __kernel_entry
2366 W32KAPI
2367 INT
2368 APIENTRY
2369 NtGdiExtSelectClipRgn(
2370 _In_ HDC hdc,
2371 _In_opt_ HRGN hrgn,
2372 _In_ INT iMode);
2373
2374 __kernel_entry
2375 W32KAPI
2376 HPEN
2377 APIENTRY
2378 NtGdiCreatePen(
2379 _In_ INT iPenStyle,
2380 _In_ INT iPenWidth,
2381 _In_ COLORREF cr,
2382 _In_opt_ HBRUSH hbr);
2383
2384 #ifdef _WINDOWBLT_NOTIFICATION_
2385 __kernel_entry
2386 W32KAPI
2387 BOOL
2388 APIENTRY
2389 NtGdiBitBlt(
2390 _In_ HDC hdcDst,
2391 _In_ INT x,
2392 _In_ INT y,
2393 _In_ INT cx,
2394 _In_ INT cy,
2395 _In_opt_ HDC hdcSrc,
2396 _In_ INT xSrc,
2397 _In_ INT ySrc,
2398 _In_ DWORD rop4,
2399 _In_ DWORD crBackColor,
2400 _In_ FLONG fl);
2401 #else
2402 __kernel_entry
2403 W32KAPI
2404 BOOL
2405 APIENTRY
2406 NtGdiBitBlt(
2407 _In_ HDC hdcDst,
2408 _In_ INT x,
2409 _In_ INT y,
2410 _In_ INT cx,
2411 _In_ INT cy,
2412 _In_opt_ HDC hdcSrc,
2413 _In_ INT xSrc,
2414 _In_ INT ySrc,
2415 _In_ DWORD rop4,
2416 _In_ DWORD crBackColor);
2417 #endif
2418
2419 __kernel_entry
2420 W32KAPI
2421 BOOL
2422 APIENTRY
2423 NtGdiTileBitBlt(
2424 _In_ HDC hdcDst,
2425 _In_ RECTL *prectDst,
2426 _In_ HDC hdcSrc,
2427 _In_ RECTL *prectSrc,
2428 _In_ POINTL *pptlOrigin,
2429 _In_ DWORD rop4,
2430 _In_ DWORD crBackColor);
2431
2432 __kernel_entry
2433 W32KAPI
2434 BOOL
2435 APIENTRY
2436 NtGdiTransparentBlt(
2437 _In_ HDC hdcDst,
2438 _In_ INT xDst,
2439 _In_ INT yDst,
2440 _In_ INT cxDst,
2441 _In_ INT cyDst,
2442 _In_ HDC hdcSrc,
2443 _In_ INT xSrc,
2444 _In_ INT ySrc,
2445 _In_ INT cxSrc,
2446 _In_ INT cySrc,
2447 _In_ COLORREF TransColor);
2448
2449 __kernel_entry
2450 W32KAPI
2451 BOOL
2452 APIENTRY
2453 NtGdiGetTextExtent(
2454 _In_ HDC hdc,
2455 _In_reads_(cwc) LPWSTR lpwsz,
2456 _In_ INT cwc,
2457 _Out_ LPSIZE psize,
2458 _In_ UINT flOpts);
2459
2460 _Success_(return != FALSE)
2461 __kernel_entry
2462 W32KAPI
2463 BOOL
2464 APIENTRY
2465 NtGdiGetTextMetricsW(
2466 _In_ HDC hdc,
2467 _Out_writes_bytes_(cj) TMW_INTERNAL *ptm,
2468 _In_ ULONG cj);
2469
2470 __kernel_entry
2471 W32KAPI
2472 INT
2473 APIENTRY
2474 NtGdiGetTextFaceW(
2475 _In_ HDC hdc,
2476 _In_ INT cChar,
2477 _Out_writes_to_opt_(cChar, return) LPWSTR pszOut,
2478 _In_ BOOL bAliasName);
2479
2480 __kernel_entry
2481 W32KAPI
2482 INT
2483 APIENTRY
2484 NtGdiGetRandomRgn(
2485 _In_ HDC hdc,
2486 _In_ HRGN hrgn,
2487 _In_ INT iRgn);
2488
2489 __kernel_entry
2490 W32KAPI
2491 BOOL
2492 APIENTRY
2493 NtGdiExtTextOutW(
2494 _In_ HDC hdc,
2495 _In_ INT x,
2496 _In_ INT y,
2497 _In_ UINT flOpts,
2498 _In_opt_ LPRECT prcl,
2499 _In_reads_opt_(cwc) LPWSTR pwsz,
2500 _In_range_(0, 0xffff) INT cwc,
2501 _In_reads_opt_(_Inexpressible_(cwc)) LPINT pdx,
2502 _In_ DWORD dwCodePage);
2503
2504 __kernel_entry
2505 W32KAPI
2506 INT
2507 APIENTRY
2508 NtGdiIntersectClipRect(
2509 _In_ HDC hdc,
2510 _In_ INT xLeft,
2511 _In_ INT yTop,
2512 _In_ INT xRight,
2513 _In_ INT yBottom);
2514
2515 __kernel_entry
2516 W32KAPI
2517 HRGN
2518 APIENTRY
2519 NtGdiCreateRectRgn(
2520 _In_ INT xLeft,
2521 _In_ INT yTop,
2522 _In_ INT xRight,
2523 _In_ INT yBottom);
2524
2525 __kernel_entry
2526 W32KAPI
2527 BOOL
2528 APIENTRY
2529 NtGdiPatBlt(
2530 _In_ HDC hdcDest,
2531 _In_ INT x,
2532 _In_ INT y,
2533 _In_ INT cx,
2534 _In_ INT cy,
2535 _In_ DWORD dwRop);
2536
2537 __kernel_entry
2538 W32KAPI
2539 BOOL
2540 APIENTRY
2541 NtGdiPolyPatBlt(
2542 _In_ HDC hdc,
2543 _In_ DWORD rop4,
2544 _In_reads_(cPoly) PPOLYPATBLT pPoly,
2545 _In_ DWORD cPoly,
2546 _In_ DWORD dwMode);
2547
2548 __kernel_entry
2549 W32KAPI
2550 BOOL
2551 APIENTRY
2552 NtGdiUnrealizeObject(
2553 _In_ HANDLE h);
2554
2555 __kernel_entry
2556 W32KAPI
2557 HANDLE
2558 APIENTRY
2559 NtGdiGetStockObject(
2560 _In_ INT iObject);
2561
2562 __kernel_entry
2563 W32KAPI
2564 HBITMAP
2565 APIENTRY
2566 NtGdiCreateCompatibleBitmap(
2567 _In_ HDC hdc,
2568 _In_ INT cx,
2569 _In_ INT cy);
2570
2571 __kernel_entry
2572 W32KAPI
2573 HBITMAP
2574 APIENTRY
2575 NtGdiCreateBitmapFromDxSurface(
2576 _In_ HDC hdc,
2577 _In_ UINT uiWidth,
2578 _In_ UINT uiHeight,
2579 _In_ DWORD Format,
2580 _In_opt_ HANDLE hDxSharedSurface);
2581
2582 __kernel_entry
2583 W32KAPI
2584 HBITMAP
2585 APIENTRY
2586 NtGdiCreateBitmapFromDxSurface2(
2587 _In_ HDC hdc,
2588 _In_ UINT uiWidth,
2589 _In_ UINT uiHeight,
2590 _In_ DWORD Format,
2591 _In_ DWORD SubresourceIndex,
2592 _In_ BOOL bSharedSurfaceNtHandle,
2593 _In_opt_ HANDLE hDxSharedSurface);
2594
2595 __kernel_entry
2596 W32KAPI
2597 BOOL
2598 APIENTRY
2599 NtGdiBeginGdiRendering(
2600 _In_ HBITMAP hbm,
2601 _In_ BOOL bDiscard,
2602 _In_ PVOID KernelModeDeviceHandle);
2603
2604 __kernel_entry
2605 W32KAPI
2606 BOOL
2607 APIENTRY
2608 NtGdiEndGdiRendering(
2609 _In_ HBITMAP hbm,
2610 _In_ BOOL bDiscard,
2611 _Out_ BOOL* pbDeviceRemoved,
2612 _In_ PVOID KernelModeDeviceHandle);
2613
2614 __kernel_entry
2615 W32KAPI
2616 BOOL
2617 APIENTRY
2618 NtGdiLineTo(
2619 _In_ HDC hdc,
2620 _In_ INT x,
2621 _In_ INT y);
2622
2623 _Success_(return != FALSE)
2624 __kernel_entry
2625 W32KAPI
2626 BOOL
2627 APIENTRY
2628 NtGdiMoveTo(
2629 _In_ HDC hdc,
2630 _In_ INT x,
2631 _In_ INT y,
2632 _Out_opt_ LPPOINT pptOut);
2633
2634 _Success_(return != 0)
2635 __kernel_entry
2636 W32KAPI
2637 INT
2638 APIENTRY
2639 NtGdiExtGetObjectW(
2640 _In_ HANDLE h,
2641 _In_ INT cj,
2642 _Out_writes_bytes_opt_(cj) LPVOID pvOut);
2643
2644 __kernel_entry
2645 W32KAPI
2646 INT
2647 APIENTRY
2648 NtGdiGetDeviceCaps(
2649 _In_ HDC hdc,
2650 _In_ INT i);
2651
2652 _Success_(return!=FALSE)
2653 __kernel_entry
2654 W32KAPI
2655 BOOL
2656 APIENTRY
2657 NtGdiGetDeviceCapsAll (
2658 _In_opt_ HDC hdc,
2659 _Out_ PDEVCAPS pDevCaps);
2660
2661 __kernel_entry
2662 W32KAPI
2663 BOOL
2664 APIENTRY
2665 NtGdiStretchBlt(
2666 _In_ HDC hdcDst,
2667 _In_ INT xDst,
2668 _In_ INT yDst,
2669 _In_ INT cxDst,
2670 _In_ INT cyDst,
2671 _In_opt_ HDC hdcSrc,
2672 _In_ INT xSrc,
2673 _In_ INT ySrc,
2674 _In_ INT cxSrc,
2675 _In_ INT cySrc,
2676 _In_ DWORD dwRop,
2677 _In_ DWORD dwBackColor);
2678
2679 _Success_(return!=FALSE)
2680 __kernel_entry
2681 W32KAPI
2682 BOOL
2683 APIENTRY
2684 NtGdiSetBrushOrg(
2685 _In_ HDC hdc,
2686 _In_ INT x,
2687 _In_ INT y,
2688 _Out_opt_ LPPOINT pptOut);
2689
2690 __kernel_entry
2691 W32KAPI
2692 HBITMAP
2693 APIENTRY
2694 NtGdiCreateBitmap(
2695 _In_ INT cx,
2696 _In_ INT cy,
2697 _In_ UINT cPlanes,
2698 _In_ UINT cBPP,
2699 _In_opt_ LPBYTE pjInit);
2700
2701 __kernel_entry
2702 W32KAPI
2703 HPALETTE
2704 APIENTRY
2705 NtGdiCreateHalftonePalette(
2706 _In_ HDC hdc);
2707
2708 __kernel_entry
2709 W32KAPI
2710 BOOL
2711 APIENTRY
2712 NtGdiRestoreDC(
2713 _In_ HDC hdc,
2714 _In_ INT iLevel);
2715
2716 __kernel_entry
2717 W32KAPI
2718 INT
2719 APIENTRY
2720 NtGdiExcludeClipRect(
2721 _In_ HDC hdc,
2722 _In_ INT xLeft,
2723 _In_ INT yTop,
2724 _In_ INT xRight,
2725 _In_ INT yBottom);
2726
2727 __kernel_entry
2728 W32KAPI
2729 INT
2730 APIENTRY
2731 NtGdiSaveDC(
2732 _In_ HDC hdc);
2733
2734 __kernel_entry
2735 W32KAPI
2736 INT
2737 APIENTRY
2738 NtGdiCombineRgn(
2739 _In_ HRGN hrgnDst,
2740 _In_ HRGN hrgnSrc1,
2741 _In_opt_ HRGN hrgnSrc2,
2742 _In_ INT iMode);
2743
2744 __kernel_entry
2745 W32KAPI
2746 BOOL
2747 APIENTRY
2748 NtGdiSetRectRgn(
2749 _In_ HRGN hrgn,
2750 _In_ INT xLeft,
2751 _In_ INT yTop,
2752 _In_ INT xRight,
2753 _In_ INT yBottom);
2754
2755 __kernel_entry
2756 W32KAPI
2757 LONG
2758 APIENTRY
2759 NtGdiSetBitmapBits(
2760 _In_ HBITMAP hbm,
2761 _In_ ULONG cj,
2762 _In_reads_bytes_(cj) PBYTE pjInit);
2763
2764 _Success_(return!=0)
2765 __kernel_entry
2766 W32KAPI
2767 INT
2768 APIENTRY
2769 NtGdiGetDIBitsInternal(
2770 _In_ HDC hdc,
2771 _In_ HBITMAP hbm,
2772 _In_ UINT iStartScan,
2773 _In_ UINT cScans,
2774 _Out_writes_bytes_opt_(cjMaxBits) LPBYTE pjBits,
2775 _Inout_ LPBITMAPINFO pbmi,
2776 _In_ UINT iUsage,
2777 _In_ UINT cjMaxBits,
2778 _In_ UINT cjMaxInfo);
2779
2780 __kernel_entry
2781 W32KAPI
2782 INT
2783 APIENTRY
2784 NtGdiOffsetRgn(
2785 _In_ HRGN hrgn,
2786 _In_ INT cx,
2787 _In_ INT cy);
2788
2789 _Success_(return!=ERROR)
2790 __kernel_entry
2791 W32KAPI
2792 INT
2793 APIENTRY
2794 NtGdiGetRgnBox(
2795 _In_ HRGN hrgn,
2796 _Out_ LPRECT prcOut);
2797
2798 __kernel_entry
2799 W32KAPI
2800 BOOL
2801 APIENTRY
2802 NtGdiRectInRegion(
2803 _In_ HRGN hrgn,
2804 _Inout_ LPRECT prcl);
2805
2806 _Success_(return!=0)
2807 __kernel_entry
2808 W32KAPI
2809 DWORD
2810 APIENTRY
2811 NtGdiGetBoundsRect(
2812 _In_ HDC hdc,
2813 _Out_ LPRECT prc,
2814 _In_ DWORD f);
2815
2816 __kernel_entry
2817 W32KAPI
2818 BOOL
2819 APIENTRY
2820 NtGdiPtInRegion(
2821 _In_ HRGN hrgn,
2822 _In_ INT x,
2823 _In_ INT y);
2824
2825 __kernel_entry
2826 W32KAPI
2827 COLORREF
2828 APIENTRY
2829 NtGdiGetNearestColor(
2830 _In_ HDC hdc,
2831 _In_ COLORREF cr);
2832
2833 __kernel_entry
2834 W32KAPI
2835 UINT
2836 APIENTRY
2837 NtGdiGetSystemPaletteUse(
2838 _In_ HDC hdc);
2839
2840 __kernel_entry
2841 W32KAPI
2842 UINT
2843 APIENTRY
2844 NtGdiSetSystemPaletteUse(
2845 _In_ HDC hdc,
2846 _In_ UINT ui);
2847
2848 _Success_(return!=0)
2849 __kernel_entry
2850 W32KAPI
2851 ULONG
2852 APIENTRY
2853 NtGdiGetRegionData(
2854 _In_ HRGN hrgn,
2855 _In_ ULONG cjBuffer,
2856 _Out_writes_bytes_to_opt_(cjBuffer, return) LPRGNDATA lpRgnData);
2857
2858 __kernel_entry
2859 W32KAPI
2860 BOOL
2861 APIENTRY
2862 NtGdiInvertRgn(
2863 _In_ HDC hdc,
2864 _In_ HRGN hrgn);
2865
2866 __kernel_entry
2867 INT
2868 W32KAPI
2869 APIENTRY
2870 NtGdiAddFontResourceW(
2871 _In_reads_(cwc) WCHAR *pwszFiles,
2872 _In_ ULONG cwc,
2873 _In_ ULONG cFiles,
2874 _In_ FLONG f,
2875 _In_ DWORD dwPidTid,
2876 _In_opt_ DESIGNVECTOR *pdv);
2877
2878 __kernel_entry
2879 W32KAPI
2880 HFONT
2881 APIENTRY
2882 NtGdiHfontCreate(
2883 _In_reads_bytes_(cjElfw) ENUMLOGFONTEXDVW *pelfw,
2884 _In_ ULONG cjElfw,
2885 _In_ LFTYPE lft,
2886 _In_ FLONG fl,
2887 _In_ PVOID pvCliData);
2888
2889 __kernel_entry
2890 W32KAPI
2891 ULONG
2892 APIENTRY
2893 NtGdiSetFontEnumeration(
2894 _In_ ULONG ulType);
2895
2896 __kernel_entry
2897 W32KAPI
2898 BOOL
2899 APIENTRY
2900 NtGdiEnumFonts(
2901 _In_ HDC hdc,
2902 _In_ ULONG iEnumType,
2903 _In_ FLONG flWin31Compat,
2904 _In_ ULONG cchFaceName,
2905 _In_reads_opt_(cchFaceName) LPCWSTR pwszFaceName,
2906 _In_ ULONG lfCharSet,
2907 _Inout_ ULONG *pulCount,
2908 _Out_writes_bytes_opt_(*pulCount) PVOID pvUserModeBuffer);
2909
2910 __kernel_entry
2911 W32KAPI
2912 BOOL
2913 APIENTRY
2914 NtGdiEnumFontClose(
2915 _In_ ULONG_PTR idEnum);
2916
2917 __kernel_entry
2918 W32KAPI
2919 BOOL
2920 APIENTRY
2921 NtGdiEnumFontChunk(
2922 _In_ HDC hdc,
2923 _In_ ULONG_PTR idEnum,
2924 _In_ ULONG cjEfdw,
2925 _Out_ ULONG *pcjEfdw,
2926 _Out_ PENUMFONTDATAW pefdw);
2927
2928 __kernel_entry
2929 W32KAPI
2930 ULONG_PTR
2931 APIENTRY
2932 NtGdiEnumFontOpen(
2933 _In_ HDC hdc,
2934 _In_ ULONG iEnumType,
2935 _In_ FLONG flWin31Compat,
2936 _In_ ULONG cwchMax,
2937 _In_opt_ LPWSTR pwszFaceName,
2938 _In_ ULONG lfCharSet,
2939 _Out_ ULONG *pulCount);
2940
2941 __kernel_entry
2942 W32KAPI
2943 INT
2944 APIENTRY
2945 NtGdiQueryFonts(
2946 _Out_writes_(nBufferSize) PUNIVERSAL_FONT_ID pufiFontList,
2947 _In_ ULONG nBufferSize,
2948 _Out_ PLARGE_INTEGER pTimeStamp);
2949
2950 __kernel_entry
2951 W32KAPI
2952 BOOL
2953 APIENTRY
2954 NtGdiConsoleTextOut(
2955 _In_ HDC hdc,
2956 _In_ POLYTEXTW *lpto,
2957 _In_ UINT nStrings,
2958 _In_ RECTL *prclBounds);
2959
2960 __kernel_entry
2961 W32KAPI
2962 NTSTATUS
2963 APIENTRY
2964 NtGdiFullscreenControl(
2965 _In_ FULLSCREENCONTROL FullscreenCommand,
2966 _In_ PVOID FullscreenInput,
2967 _In_ DWORD FullscreenInputLength,
2968 _Out_ PVOID FullscreenOutput,
2969 _Inout_ PULONG FullscreenOutputLength);
2970
2971 __kernel_entry
2972 W32KAPI
2973 DWORD
2974 APIENTRY
2975 NtGdiGetCharSet(
2976 _In_ HDC hdc);
2977
2978 __kernel_entry
2979 W32KAPI
2980 BOOL
2981 APIENTRY
2982 NtGdiEnableEudc(
2983 _In_ BOOL b);
2984
2985 __kernel_entry
2986 W32KAPI
2987 BOOL
2988 APIENTRY
2989 NtGdiEudcLoadUnloadLink(
2990 _In_reads_opt_(cwcBaseFaceName) LPCWSTR pBaseFaceName,
2991 _In_ UINT cwcBaseFaceName,
2992 _In_reads_(cwcEudcFontPath) LPCWSTR pEudcFontPath,
2993 _In_ UINT cwcEudcFontPath,
2994 _In_ INT iPriority,
2995 _In_ INT iFontLinkType,
2996 _In_ BOOL bLoadLin);
2997
2998 __kernel_entry
2999 W32KAPI
3000 UINT
3001 APIENTRY
3002 NtGdiGetStringBitmapW(
3003 _In_ HDC hdc,
3004 _In_ LPWSTR pwsz,
3005 _In_ UINT cwc,
3006 _Out_writes_bytes_(cj) BYTE *lpSB,
3007 _In_ UINT cj);
3008
3009 __kernel_entry
3010 W32KAPI
3011 ULONG
3012 APIENTRY
3013 NtGdiGetEudcTimeStampEx(
3014 _In_reads_opt_(cwcBaseFaceName) LPWSTR lpBaseFaceName,
3015 _In_ ULONG cwcBaseFaceName,
3016 _In_ BOOL bSystemTimeStamp);
3017
3018 __kernel_entry
3019 W32KAPI
3020 ULONG
3021 APIENTRY
3022 NtGdiQueryFontAssocInfo(
3023 _In_ HDC hdc);
3024
3025 __kernel_entry
3026 W32KAPI
3027 DWORD
3028 APIENTRY
3029 NtGdiGetFontUnicodeRanges(
3030 _In_ HDC hdc,
3031 _Out_ _Post_bytecount_(return) LPGLYPHSET pgs);
3032
3033 #ifdef LANGPACK
3034 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
3035 __kernel_entry
3036 W32KAPI
3037 BOOL
3038 NtGdiGetRealizationInfo(
3039 _In_ HDC hdc,
3040 _Out_ PFONT_REALIZATION_INFO pri);
3041 #else
3042 __kernel_entry
3043 W32KAPI
3044 BOOL
3045 APIENTRY
3046 NtGdiGetRealizationInfo(
3047 _In_ HDC hdc,
3048 _Out_ PREALIZATION_INFO pri,
3049 _In_ HFONT hf);
3050 #endif
3051 #endif
3052
3053 __kernel_entry
3054 W32KAPI
3055 BOOL
3056 APIENTRY
3057 NtGdiAddRemoteMMInstanceToDC(
3058 _In_ HDC hdc,
3059 _In_reads_bytes_(cjDDV) DOWNLOADDESIGNVECTOR *pddv,
3060 _In_ ULONG cjDDV);
3061
3062 __kernel_entry
3063 W32KAPI
3064 BOOL
3065 APIENTRY
3066 NtGdiUnloadPrinterDriver(
3067 _In_reads_bytes_(cbDriverName) LPWSTR pDriverName,
3068 _In_ ULONG cbDriverName);
3069
3070 __kernel_entry
3071 W32KAPI
3072 BOOL
3073 APIENTRY
3074 NtGdiInitSpool(
3075 VOID);
3076
3077 __kernel_entry
3078 W32KAPI
3079 INT
3080 APIENTRY
3081 NtGdiGetSpoolMessage(
3082 DWORD u1,
3083 DWORD u2,
3084 DWORD u3,
3085 DWORD u4);
3086
3087 __kernel_entry
3088 W32KAPI
3089 BOOL
3090 APIENTRY
3091 NtGdiEngAssociateSurface(
3092 _In_ HSURF hsurf,
3093 _In_ HDEV hdev,
3094 _In_ FLONG flHooks);
3095
3096 __kernel_entry
3097 W32KAPI
3098 BOOL
3099 APIENTRY
3100 NtGdiEngEraseSurface(
3101 _In_ SURFOBJ *pso,
3102 _In_ RECTL *prcl,
3103 _In_ ULONG iColor);
3104
3105 __kernel_entry
3106 W32KAPI
3107 HBITMAP
3108 APIENTRY
3109 NtGdiEngCreateBitmap(
3110 _In_ SIZEL sizl,
3111 _In_ LONG lWidth,
3112 _In_ ULONG iFormat,
3113 _In_ FLONG fl,
3114 _In_opt_ PVOID pvBits);
3115
3116 __kernel_entry
3117 W32KAPI
3118 BOOL
3119 APIENTRY
3120 NtGdiEngDeleteSurface(
3121 _In_ HSURF hsurf);
3122
3123 __kernel_entry
3124 W32KAPI
3125 SURFOBJ*
3126 APIENTRY
3127 NtGdiEngLockSurface(
3128 _In_ HSURF hsurf);
3129
3130 __kernel_entry
3131 W32KAPI
3132 NTSTATUS
3133 APIENTRY
3134 NtGdiEngUnlockSurface(
3135 _In_ SURFOBJ *pso);
3136
3137 __kernel_entry
3138 W32KAPI
3139 BOOL
3140 APIENTRY
3141 NtGdiEngMarkBandingSurface(
3142 _In_ HSURF hsurf);
3143
3144 __kernel_entry
3145 W32KAPI
3146 HSURF
3147 APIENTRY
3148 NtGdiEngCreateDeviceSurface(
3149 _In_ DHSURF dhsurf,
3150 _In_ SIZEL sizl,
3151 _In_ ULONG iFormatCompat);
3152
3153 __kernel_entry
3154 W32KAPI
3155 HBITMAP
3156 APIENTRY
3157 NtGdiEngCreateDeviceBitmap(
3158 _In_ DHSURF dhsurf,
3159 _In_ SIZEL sizl,
3160 _In_ ULONG iFormatCompat);
3161
3162 __kernel_entry
3163 W32KAPI
3164 BOOL
3165 APIENTRY
3166 NtGdiEngCopyBits(
3167 _In_ SURFOBJ *psoDst,
3168 _In_ SURFOBJ *psoSrc,
3169 _In_opt_ CLIPOBJ *pco,
3170 _In_opt_ XLATEOBJ *pxlo,
3171 _In_ RECTL *prclDst,
3172 _In_ POINTL *pptlSrc);
3173
3174 __kernel_entry
3175 W32KAPI
3176 BOOL
3177 APIENTRY
3178 NtGdiEngStretchBlt(
3179 _In_ SURFOBJ *psoDest,
3180 _In_ SURFOBJ *psoSrc,
3181 _In_opt_ SURFOBJ *psoMask,
3182 _In_opt_ CLIPOBJ *pco,
3183 _In_opt_ XLATEOBJ *pxlo,
3184 _In_opt_ COLORADJUSTMENT *pca,
3185 _In_ POINTL *pptlHTOrg,
3186 _In_ RECTL *prclDest,
3187 _In_ RECTL *prclSrc,
3188 _In_opt_ POINTL *pptlMask,
3189 _In_ ULONG iMode);
3190
3191 __kernel_entry
3192 W32KAPI
3193 BOOL
3194 APIENTRY
3195 NtGdiEngBitBlt(
3196 _In_ SURFOBJ *psoTrg,
3197 _In_opt_ SURFOBJ *psoSrc,
3198 _In_opt_ SURFOBJ *psoMask,
3199 _In_opt_ CLIPOBJ *pco,
3200 _In_opt_ XLATEOBJ *pxlo,
3201 _In_ RECTL *prclTrg,
3202 _In_opt_ POINTL *pptlSrc,
3203 _In_opt_ POINTL *pptlMask,
3204 _In_opt_ BRUSHOBJ *pbo,
3205 _In_opt_ POINTL *pptlBrush,
3206 _In_ ROP4 rop4);
3207
3208 __kernel_entry
3209 W32KAPI
3210 BOOL
3211 APIENTRY
3212 NtGdiEngPlgBlt(
3213 _In_ SURFOBJ *psoTrg,
3214 _In_ SURFOBJ *psoSrc,
3215 _In_opt_ SURFOBJ *psoMsk,
3216 _In_ CLIPOBJ *pco,
3217 _In_opt_ XLATEOBJ *pxlo,
3218 _In_ COLORADJUSTMENT *pca,
3219 _In_ POINTL *pptlBrushOrg,
3220 _In_ POINTFIX *pptfx,
3221 _In_ RECTL *prcl,
3222 _In_opt_ POINTL *pptl,
3223 _In_ ULONG iMode);
3224
3225 __kernel_entry
3226 W32KAPI
3227 HPALETTE
3228 APIENTRY
3229 NtGdiEngCreatePalette(
3230 _In_ ULONG iMode,
3231 _In_ ULONG cColors,
3232 _In_ ULONG *pulColors,
3233 _In_ FLONG flRed,
3234 _In_ FLONG flGreen,
3235 _In_ FLONG flBlue);
3236
3237 __kernel_entry
3238 W32KAPI
3239 BOOL
3240 APIENTRY
3241 NtGdiEngDeletePalette(
3242 _In_ HPALETTE hPal);
3243
3244 __kernel_entry
3245 W32KAPI
3246 BOOL
3247 APIENTRY
3248 NtGdiEngStrokePath(
3249 _In_ SURFOBJ *pso,
3250 _In_ PATHOBJ *ppo,
3251 _In_ CLIPOBJ *pco,
3252 _In_ XFORMOBJ *pxo,
3253 _In_ BRUSHOBJ *pbo,
3254 _In_ POINTL *pptlBrushOrg,
3255 _In_ LINEATTRS *plineattrs,
3256 _In_ MIX mix);
3257
3258 __kernel_entry
3259 W32KAPI
3260 BOOL
3261 APIENTRY
3262 NtGdiEngFillPath(
3263 _In_ SURFOBJ *pso,
3264 _In_ PATHOBJ *ppo,
3265 _In_ CLIPOBJ *pco,
3266 _In_ BRUSHOBJ *pbo,
3267 _In_ POINTL *pptlBrushOrg,
3268 _In_ MIX mix,
3269 _In_ FLONG flOptions);
3270
3271 __kernel_entry
3272 W32KAPI
3273 BOOL
3274 APIENTRY
3275 NtGdiEngStrokeAndFillPath(
3276 _In_ SURFOBJ *pso,
3277 _In_ PATHOBJ *ppo,
3278 _In_ CLIPOBJ *pco,IN XFORMOBJ *pxo,
3279 _In_ BRUSHOBJ *pboStroke,
3280 _In_ LINEATTRS *plineattrs,
3281 _In_ BRUSHOBJ *pboFill,
3282 _In_ POINTL *pptlBrushOrg,
3283 _In_ MIX mix,
3284 _In_ FLONG flOptions);
3285
3286 __kernel_entry
3287 W32KAPI
3288 BOOL
3289 APIENTRY
3290 NtGdiEngPaint(
3291 _In_ SURFOBJ *pso,
3292 _In_ CLIPOBJ *pco,
3293 _In_ BRUSHOBJ *pbo,
3294 _In_ POINTL *pptlBrushOrg,
3295 _In_ MIX mix);
3296
3297 __kernel_entry
3298 W32KAPI
3299 BOOL
3300 APIENTRY
3301 NtGdiEngLineTo(
3302 _In_ SURFOBJ *pso,
3303 _In_ CLIPOBJ *pco,
3304 _In_ BRUSHOBJ *pbo,
3305 _In_ LONG x1,
3306 _In_ LONG y1,
3307 _In_ LONG x2,
3308 _In_ LONG y2,
3309 _In_ RECTL *prclBounds,
3310 _In_ MIX mix);
3311
3312 __kernel_entry
3313 W32KAPI
3314 BOOL
3315 APIENTRY
3316 NtGdiEngAlphaBlend(
3317 _In_ SURFOBJ *psoDest,
3318 _In_ SURFOBJ *psoSrc,
3319 _In_ CLIPOBJ *pco,
3320 _In_ XLATEOBJ *pxlo,
3321 _In_ RECTL *prclDest,
3322 _In_ RECTL *prclSrc,
3323 _In_ BLENDOBJ *pBlendObj);
3324
3325 __kernel_entry
3326 W32KAPI
3327 BOOL
3328 APIENTRY
3329 NtGdiEngGradientFill(
3330 _In_ SURFOBJ *psoDest,
3331 _In_ CLIPOBJ *pco,
3332 _In_ XLATEOBJ *pxlo,
3333 _In_reads_(nVertex) TRIVERTEX *pVertex,
3334 _In_ ULONG nVertex,
3335 _In_ /* _In_reads_(nMesh) */ PVOID pMesh,
3336 _In_ ULONG nMesh,
3337 _In_ RECTL *prclExtents,
3338 _In_ POINTL *pptlDitherOrg,
3339 _In_ ULONG ulMode);
3340
3341 __kernel_entry
3342 W32KAPI
3343 BOOL
3344 APIENTRY
3345 NtGdiEngTransparentBlt(
3346 _In_ SURFOBJ *psoDst,
3347 _In_ SURFOBJ *psoSrc,
3348 _In_ CLIPOBJ *pco,
3349 _In_ XLATEOBJ *pxlo,
3350 _In_ RECTL *prclDst,
3351 _In_ RECTL *prclSrc,
3352 _In_ ULONG iTransColor,
3353 _In_ ULONG ulReserved);
3354
3355 __kernel_entry
3356 W32KAPI
3357 BOOL
3358 APIENTRY
3359 NtGdiEngTextOut(
3360 _In_ SURFOBJ *pso,
3361 _In_ STROBJ *pstro,
3362 _In_ FONTOBJ *pfo,
3363 _In_ CLIPOBJ *pco,
3364 _In_ RECTL *prclExtra,
3365 _In_ RECTL *prclOpaque,
3366 _In_ BRUSHOBJ *pboFore,
3367 _In_ BRUSHOBJ *pboOpaque,
3368 _In_ POINTL *pptlOrg,
3369 _In_ MIX mix);
3370
3371 __kernel_entry
3372 W32KAPI
3373 BOOL
3374 APIENTRY
3375 NtGdiEngStretchBltROP(
3376 _In_ SURFOBJ *psoTrg,
3377 _In_ SURFOBJ *psoSrc,
3378 _In_ SURFOBJ *psoMask,
3379 _In_ CLIPOBJ *pco,
3380 _In_ XLATEOBJ *pxlo,
3381 _In_ COLORADJUSTMENT *pca,
3382 _In_ POINTL *pptlBrushOrg,
3383 _In_ RECTL *prclTrg,
3384 _In_ RECTL *prclSrc,
3385 _In_ POINTL *pptlMask,
3386 _In_ ULONG iMode,
3387 _In_ BRUSHOBJ *pbo,
3388 _In_ ROP4 rop4);
3389
3390 __kernel_entry
3391 W32KAPI
3392 ULONG
3393 APIENTRY
3394 NtGdiXLATEOBJ_cGetPalette(
3395 _In_ XLATEOBJ *pxlo,
3396 _In_ ULONG iPal,
3397 _In_ ULONG cPal,
3398 _Out_writes_(cPal) ULONG *pPal);
3399
3400 __kernel_entry
3401 W32KAPI
3402 ULONG
3403 APIENTRY
3404 NtGdiCLIPOBJ_cEnumStart(
3405 _In_ CLIPOBJ *pco,
3406 _In_ BOOL bAll,
3407 _In_ ULONG iType,
3408 _In_ ULONG iDirection,
3409 _In_ ULONG cLimit);
3410
3411 __kernel_entry
3412 W32KAPI
3413 BOOL
3414 APIENTRY
3415 NtGdiCLIPOBJ_bEnum(
3416 _In_ CLIPOBJ *pco,
3417 _In_ ULONG cj,
3418 _Out_writes_bytes_(cj) ULONG *pul);
3419
3420 __kernel_entry
3421 W32KAPI
3422 PATHOBJ*
3423 APIENTRY
3424 NtGdiCLIPOBJ_ppoGetPath(
3425 _In_ CLIPOBJ *pco);
3426
3427 __kernel_entry
3428 W32KAPI
3429 CLIPOBJ*
3430 APIENTRY
3431 NtGdiEngCreateClip(
3432 VOID);
3433
3434 __kernel_entry
3435 W32KAPI
3436 NTSTATUS
3437 APIENTRY
3438 NtGdiEngDeleteClip(
3439 _In_ CLIPOBJ*pco);
3440
3441 __kernel_entry
3442 W32KAPI
3443 PVOID
3444 APIENTRY
3445 NtGdiBRUSHOBJ_pvAllocRbrush(
3446 _In_ BRUSHOBJ *pbo,
3447 _In_ ULONG cj);
3448
3449 __kernel_entry
3450 W32KAPI
3451 PVOID
3452 APIENTRY
3453 NtGdiBRUSHOBJ_pvGetRbrush(
3454 _In_ BRUSHOBJ *pbo);
3455
3456 __kernel_entry
3457 W32KAPI
3458 ULONG
3459 APIENTRY
3460 NtGdiBRUSHOBJ_ulGetBrushColor(
3461 _In_ BRUSHOBJ *pbo);
3462
3463 __kernel_entry
3464 W32KAPI
3465 HANDLE
3466 APIENTRY
3467 NtGdiBRUSHOBJ_hGetColorTransform(
3468 _In_ BRUSHOBJ *pbo);
3469
3470 __kernel_entry
3471 W32KAPI
3472 BOOL
3473 APIENTRY
3474 NtGdiXFORMOBJ_bApplyXform(
3475 _In_ XFORMOBJ *pxo,
3476 _In_ ULONG iMode,
3477 _In_ ULONG cPoints,
3478 _In_reads_(cPoints) PPOINTL pptIn,
3479 _Out_writes_(cPoints) PPOINTL pptOut);
3480
3481 __kernel_entry
3482 W32KAPI
3483 ULONG
3484 APIENTRY
3485 NtGdiXFORMOBJ_iGetXform(
3486 _In_ XFORMOBJ *pxo,
3487 _Out_opt_ XFORML *pxform);
3488
3489 __kernel_entry
3490 W32KAPI
3491 NTSTATUS
3492 APIENTRY
3493 NtGdiFONTOBJ_vGetInfo(
3494 _In_ FONTOBJ *pfo,
3495 _In_ ULONG cjSize,
3496 _Out_writes_bytes_(cjSize) FONTINFO *pfi);
3497
3498 __kernel_entry
3499 W32KAPI
3500 ULONG
3501 APIENTRY
3502 NtGdiFONTOBJ_cGetGlyphs(
3503 _In_ FONTOBJ *pfo,
3504 _In_ ULONG iMode,
3505 _In_ ULONG cGlyph,
3506 _In_ HGLYPH *phg,
3507 _At_((GLYPHDATA**)ppvGlyph, _Outptr_) PVOID *ppvGlyph);
3508
3509 __kernel_entry
3510 W32KAPI
3511 XFORMOBJ*
3512 APIENTRY
3513 NtGdiFONTOBJ_pxoGetXform(
3514 _In_ FONTOBJ *pfo);
3515
3516 __kernel_entry
3517 W32KAPI
3518 IFIMETRICS*
3519 APIENTRY
3520 NtGdiFONTOBJ_pifi(
3521 _In_ FONTOBJ *pfo);
3522
3523 __kernel_entry
3524 W32KAPI
3525 FD_GLYPHSET*
3526 APIENTRY
3527 NtGdiFONTOBJ_pfdg(
3528 _In_ FONTOBJ *pfo);
3529
3530 __kernel_entry
3531 W32KAPI
3532 ULONG
3533 APIENTRY
3534 NtGdiFONTOBJ_cGetAllGlyphHandles(
3535 _In_ FONTOBJ *pfo,
3536 _Out_opt_ _Post_count_(return) HGLYPH *phg);
3537
3538 __kernel_entry
3539 W32KAPI
3540 PVOID
3541 APIENTRY
3542 NtGdiFONTOBJ_pvTrueTypeFontFile(
3543 _In_ FONTOBJ *pfo,
3544 _Out_ ULONG *pcjFile);
3545
3546 __kernel_entry
3547 W32KAPI
3548 PFD_GLYPHATTR
3549 APIENTRY
3550 NtGdiFONTOBJ_pQueryGlyphAttrs(
3551 _In_ FONTOBJ *pfo,
3552 _In_ ULONG iMode);
3553
3554 __kernel_entry
3555 W32KAPI
3556 BOOL
3557 APIENTRY
3558 NtGdiSTROBJ_bEnum(
3559 _In_ STROBJ *pstro,
3560 _Out_ ULONG *pc,
3561 _Outptr_result_buffer_(*pc) PGLYPHPOS *ppgpos);
3562
3563 __kernel_entry
3564 W32KAPI
3565 BOOL
3566 APIENTRY
3567 NtGdiSTROBJ_bEnumPositionsOnly(
3568 _In_ STROBJ *pstro,
3569 _Out_ ULONG *pc,
3570 _Outptr_result_buffer_(*pc) PGLYPHPOS *ppgpos);
3571
3572 __kernel_entry
3573 W32KAPI
3574 NTSTATUS
3575 APIENTRY
3576 NtGdiSTROBJ_vEnumStart(
3577 _Inout_ STROBJ *pstro);
3578
3579 __kernel_entry
3580 W32KAPI
3581 DWORD
3582 APIENTRY
3583 NtGdiSTROBJ_dwGetCodePage(
3584 _In_ STROBJ *pstro);
3585
3586 __kernel_entry
3587 W32KAPI
3588 BOOL
3589 APIENTRY
3590 NtGdiSTROBJ_bGetAdvanceWidths(
3591 _In_ STROBJ*pstro,
3592 _In_ ULONG iFirst,
3593 _In_ ULONG c,
3594 _Out_writes_(c) POINTQF*pptqD);
3595
3596 __kernel_entry
3597 W32KAPI
3598 FD_GLYPHSET*
3599 APIENTRY
3600 NtGdiEngComputeGlyphSet(
3601 _In_ INT nCodePage,
3602 _In_ INT nFirstChar,
3603 _In_ INT cChars);
3604
3605 __kernel_entry
3606 W32KAPI
3607 ULONG
3608 APIENTRY
3609 NtGdiXLATEOBJ_iXlate(
3610 _In_ XLATEOBJ *pxlo,
3611 _In_ ULONG iColor);
3612
3613 __kernel_entry
3614 W32KAPI
3615 HANDLE
3616 APIENTRY
3617 NtGdiXLATEOBJ_hGetColorTransform(
3618 _In_ XLATEOBJ *pxlo);
3619
3620 __kernel_entry
3621 W32KAPI
3622 NTSTATUS
3623 APIENTRY
3624 NtGdiPATHOBJ_vGetBounds(
3625 _In_ PATHOBJ *ppo,
3626 _Out_ PRECTFX prectfx);
3627
3628 __kernel_entry
3629 W32KAPI
3630 BOOL
3631 APIENTRY
3632 NtGdiPATHOBJ_bEnum(
3633 _In_ PATHOBJ *ppo,
3634 _Out_ PATHDATA *ppd);
3635
3636 __kernel_entry
3637 W32KAPI
3638 NTSTATUS
3639 APIENTRY
3640 NtGdiPATHOBJ_vEnumStart(
3641 _In_ PATHOBJ *ppo);
3642
3643 __kernel_entry
3644 W32KAPI
3645 NTSTATUS
3646 APIENTRY
3647 NtGdiEngDeletePath(
3648 _In_ PATHOBJ *ppo);
3649
3650 __kernel_entry
3651 W32KAPI
3652 NTSTATUS
3653 APIENTRY
3654 NtGdiPATHOBJ_vEnumStartClipLines(
3655 _In_ PATHOBJ *ppo,
3656 _In_ CLIPOBJ *pco,
3657 _In_ SURFOBJ *pso,
3658 _In_ LINEATTRS *pla);
3659
3660 __kernel_entry
3661 W32KAPI
3662 BOOL
3663 APIENTRY
3664 NtGdiPATHOBJ_bEnumClipLines(
3665 _In_ PATHOBJ *ppo,
3666 _In_ ULONG cb,
3667 _Out_writes_bytes_(cb) CLIPLINE *pcl);
3668
3669 __kernel_entry
3670 W32KAPI
3671 BOOL
3672 APIENTRY
3673 NtGdiEngCheckAbort(
3674 _In_ SURFOBJ *pso);
3675
3676 __kernel_entry
3677 W32KAPI
3678 DHPDEV
3679 APIENTRY
3680 NtGdiGetDhpdev(
3681 _In_ HDEV hdev);
3682
3683 __kernel_entry
3684 W32KAPI
3685 LONG
3686 APIENTRY
3687 NtGdiHT_Get8BPPFormatPalette(
3688 _Out_opt_ _Post_count_(return) LPPALETTEENTRY pPaletteEntry,
3689 _In_ USHORT RedGamma,
3690 _In_ USHORT GreenGamma,
3691 _In_ USHORT BlueGamma);
3692
3693 __kernel_entry
3694 W32KAPI
3695 LONG
3696 APIENTRY
3697 NtGdiHT_Get8BPPMaskPalette(
3698 _Out_opt_ _Post_count_(return) LPPALETTEENTRY pPaletteEntry,
3699 _In_ BOOL Use8BPPMaskPal,
3700 _In_ BYTE CMYMask,
3701 _In_ USHORT RedGamma,
3702 _In_ USHORT GreenGamma,
3703 _In_ USHORT BlueGamma);
3704
3705 __kernel_entry
3706 W32KAPI
3707 BOOL
3708 APIENTRY
3709 NtGdiUpdateTransform(
3710 _In_ HDC hdc);
3711
3712 __kernel_entry
3713 W32KAPI
3714 DWORD
3715 APIENTRY
3716 NtGdiSetLayout(
3717 _In_ HDC hdc,
3718 _In_ LONG wox,
3719 _In_ DWORD dwLayout);
3720
3721 __kernel_entry
3722 W32KAPI
3723 BOOL
3724 APIENTRY
3725 NtGdiMirrorWindowOrg(
3726 _In_ HDC hdc);
3727
3728 __kernel_entry
3729 W32KAPI
3730 LONG
3731 APIENTRY
3732 NtGdiGetDeviceWidth(
3733 _In_ HDC hdc);
3734
3735 __kernel_entry
3736 W32KAPI
3737 NTSTATUS
3738 APIENTRY
3739 NtGdiSetUMPDSandboxState(
3740 _In_ BOOL bEnabled);
3741
3742 __kernel_entry
3743 W32KAPI
3744 BOOL
3745 APIENTRY
3746 NtGdiSetPUMPDOBJ(
3747 _In_opt_ HUMPD humpd,
3748 _In_ BOOL bStoreID,
3749 _Inout_opt_ HUMPD *phumpd,
3750 _Out_opt_ BOOL *pbWOW64);
3751
3752 __kernel_entry
3753 W32KAPI
3754 BOOL
3755 APIENTRY
3756 NtGdiBRUSHOBJ_DeleteRbrush(
3757 _In_opt_ BRUSHOBJ *pbo,
3758 _In_opt_ BRUSHOBJ *pboB);
3759
3760 __kernel_entry
3761 W32KAPI
3762 BOOL
3763 APIENTRY
3764 NtGdiUMPDEngFreeUserMem(
3765 _In_ KERNEL_PVOID *ppv);
3766
3767 __kernel_entry
3768 W32KAPI
3769 HBITMAP
3770 APIENTRY
3771 NtGdiSetBitmapAttributes(
3772 _In_ HBITMAP hbm,
3773 _In_ DWORD dwFlags);
3774
3775 __kernel_entry
3776 W32KAPI
3777 HBITMAP
3778 APIENTRY
3779 NtGdiClearBitmapAttributes(
3780 _In_ HBITMAP hbm,
3781 _In_ DWORD dwFlags);
3782
3783 __kernel_entry
3784 W32KAPI
3785 HBRUSH
3786 APIENTRY
3787 NtGdiSetBrushAttributes(
3788 _In_ HBRUSH hbm,
3789 _In_ DWORD dwFlags);
3790
3791 __kernel_entry
3792 W32KAPI
3793 HBRUSH
3794 APIENTRY
3795 NtGdiClearBrushAttributes(
3796 _In_ HBRUSH hbm,
3797 _In_ DWORD dwFlags);
3798
3799 __kernel_entry
3800 W32KAPI
3801 BOOL
3802 APIENTRY
3803 NtGdiDrawStream(
3804 _In_ HDC hdcDst,
3805 _In_ ULONG cjIn,
3806 _In_reads_bytes_(cjIn) VOID *pvIn);
3807
3808 __kernel_entry
3809 W32KAPI
3810 BOOL
3811 APIENTRY
3812 NtGdiMakeObjectXferable(
3813 _In_ HANDLE h,
3814 _In_ DWORD dwProcessId);
3815
3816 __kernel_entry
3817 W32KAPI
3818 BOOL
3819 APIENTRY
3820 NtGdiMakeObjectUnXferable(
3821 _In_ HANDLE h);
3822
3823 #ifdef PRIVATE_DWM_INTERFACE
3824
3825 __kernel_entry
3826 W32KAPI
3827 BOOL
3828 NtGdiSfmRegisterLogicalSurfaceForSignaling(
3829 _In_ HLSURF hlsurf,
3830 BOOL fSignalOnDirty);
3831
3832 __kernel_entry
3833 W32KAPI
3834 BOOL
3835 NtGdiDwmGetHighColorMode(
3836 _Out_ DXGI_FORMAT* pdxgiFormat);
3837
3838 __kernel_entry
3839 W32KAPI
3840 BOOL
3841 NtGdiDwmSetHighColorMode(
3842 _In_ DXGI_FORMAT dxgiFormat);
3843
3844 __kernel_entry
3845 W32KAPI
3846 HANDLE
3847 NtGdiDwmCaptureScreen(
3848 _In_ const RECT* prcCapture,
3849 _In_ DXGI_FORMAT dxgiFormat);
3850
3851 __kernel_entry
3852 W32KAPI
3853 NTSTATUS
3854 APIENTRY
3855 NtGdiDdCreateFullscreenSprite(
3856 _In_ HDC hdc,
3857 _In_ COLORREF crKey,
3858 _Out_ HANDLE* phSprite,
3859 _Out_ HDC* phdcSprite);
3860
3861 __kernel_entry
3862 W32KAPI
3863 NTSTATUS
3864 APIENTRY
3865 NtGdiDdNotifyFullscreenSpriteUpdate(
3866 _In_ HDC hdc,
3867 _In_ HANDLE hSprite);
3868
3869 __kernel_entry
3870 W32KAPI
3871 NTSTATUS
3872 APIENTRY
3873 NtGdiDdDestroyFullscreenSprite(
3874 _In_ HDC hdc,
3875 _In_ HANDLE hSprite);
3876
3877 __kernel_entry
3878 W32KAPI
3879 ULONG
3880 APIENTRY
3881 NtGdiDdQueryVisRgnUniqueness(
3882 VOID);
3883
3884 __kernel_entry
3885 W32KAPI
3886 BOOL
3887 APIENTRY
3888 NtGdiHLSurfGetInformation(
3889 _In_ HLSURF hlsurf,
3890 _In_ HLSURF_INFORMATION_CLASS InformationClass,
3891 _In_reads_bytes_opt_(*pcjInfoBuffer) PVOID pvInfoBuffer,
3892 _Inout_ PULONG pcjInfoBuffer);
3893
3894 __kernel_entry
3895 W32KAPI
3896 BOOL
3897 APIENTRY
3898 NtGdiHLSurfSetInformation(
3899 _In_ HLSURF hlsurf,
3900 _In_ HLSURF_INFORMATION_CLASS InformationClass,
3901 _In_reads_bytes_opt_(cjInfoBuffer) PVOID pvInfoBuffer,
3902 _In_ ULONG cjInfoBuffer);
3903
3904 __kernel_entry
3905 W32KAPI
3906 BOOL
3907 APIENTRY
3908 NtGdiDwmCreatedBitmapRemotingOutput(
3909 VOID);
3910
3911 __kernel_entry
3912 W32KAPI
3913 NTSTATUS
3914 APIENTRY
3915 NtGdiGetCurrentDpiInfo(
3916 _In_ HMONITOR hmon,
3917 _Out_ PVOID pvStruct);
3918
3919 #endif /* PRIVATE_DWM_INTERFACE */
3920
3921 #endif /* _NTGDI_ */