9 #define W32KAPI DECLSPEC_ADDRSAFE
12 #ifndef _WINDOWBLT_NOTIFICATION_
13 #define _WINDOWBLT_NOTIFICATION_
17 #define DX_LONGHORN_PRESERVEDC
20 #define TRACE_SURFACE_ALLOCS (DBG || 0)
22 /* NtGdiGetLinkedUfis */
23 #define FL_UFI_PRIVATEFONT 1
24 #define FL_UFI_DESIGNVECTOR_PFF 2
25 #define FL_UFI_MEMORYFONT 4
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
33 /* NtGdiCreateColorSpace */
34 #define LCSEX_ANSICREATED 1
35 #define LCSEX_TEMPPROFILE 2
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
44 /* NtGdiEnumFontOpen */
45 #define TYPE_ENUMFONTS 1
46 #define TYPE_ENUMFONTFAMILIES 2
47 #define TYPE_ENUMFONTFAMILIESEX 3
49 typedef enum _COLORPALETTEINFO
53 } COLORPALETTEINFO
, *PCOLORPALETTEINFO
;
55 /* NtGdiIcmBrushInfo */
56 typedef enum _ICM_DIB_INFO_CMD
60 } ICM_DIB_INFO
, *PICM_DIB_INFO
;
62 /* NtGdiCreateColorSpace */
63 typedef struct _LOGCOLORSPACEEXW
65 LOGCOLORSPACEW lcsColorSpace
;
67 } LOGCOLORSPACEEXW
, *PLOGCOLORSPACEEXW
;
69 typedef struct _POLYPATBLT
76 } POLYPATBLT
, *PPOLYPATBLT
;
78 /* NtGdiAddRemoteMMInstanceToDC */
79 typedef struct tagDOWNLOADDESIGNVECTOR
81 UNIVERSAL_FONT_ID ufiBase
;
83 } DOWNLOADDESIGNVECTOR
;
86 typedef struct _DRIVER_INFO_2W DRIVER_INFO_2W
;
89 typedef struct _HLSURF_INFORMATION_PROBE
{
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
;
100 } HLSURF_INFORMATION_PROBE
, *PHLSURF_INFORMATION_PROBE
;
114 NtGdiSetDIBitsToDeviceInternal(
122 _In_ DWORD iStartScan
,
124 _In_reads_bytes_(cjMaxBits
) LPBYTE pInitBits
,
125 _In_reads_bytes_(cjMaxInfo
) LPBITMAPINFO pbmi
,
129 _In_ BOOL bTransformCoordinates
,
130 _In_opt_ HANDLE hcmXform
138 NtGdiCreateSessionMappedDIBSection(
140 _In_opt_ HANDLE hSectionApp
,
142 _In_reads_bytes_opt_(cjHeader
) LPBITMAPINFO pbmi
,
146 _In_ ULONG_PTR dwColorSpace
);
153 NtGdiGetFontResourceInfoInternalW(
154 _In_reads_z_(cwc
) LPWSTR pwszFiles
,
158 _Out_ LPDWORD pdwBytes
,
159 _Out_writes_bytes_(cjBuf
) LPVOID pvBuf
,
166 NtGdiGetGlyphIndicesW(
168 _In_reads_opt_(cwc
) LPCWSTR pwc
,
170 _Out_writes_opt_(cwc
) LPWORD pgi
,
177 NtGdiGetGlyphIndicesWInternal(
179 _In_reads_opt_(cwc
) LPWSTR pwc
,
181 _Out_writes_opt_(cwc
) LPWORD pgi
,
189 NtGdiCreatePaletteInternal(
190 _In_reads_bytes_(cEntries
* 4 + 4) LPLOGPALETTE pLogPal
,
198 _In_ ARCTYPE arctype
,
213 NtGdiStretchDIBitsInternal(
223 _In_reads_bytes_opt_(cjMaxBits
) LPBYTE pjInit
,
224 _In_ LPBITMAPINFO pbmi
,
229 _In_opt_ HANDLE hcmXform
);
235 NtGdiGetOutlineTextMetricsInternalW(
238 _Out_writes_bytes_opt_(cjotm
) OUTLINETEXTMETRICW
*potmw
,
241 _Success_(return != FALSE
)
246 NtGdiGetAndSetDCDword(
250 _Out_ DWORD
*pdwResult
);
274 _Out_writes_bytes_(cjSize
) LPWSTR pszMonitorID
);
282 _Out_writes_opt_(cBufferSize
) PUNIVERSAL_FONT_ID pufiLinkedUFIs
,
283 _In_ INT cBufferSize
);
291 _In_reads_(uNumUFIs
) PUNIVERSAL_FONT_ID pufiLinks
,
292 _In_ ULONG uNumUFIs
);
300 _Out_ PUNIVERSAL_FONT_ID pufi
,
301 _Out_opt_ DESIGNVECTOR
*pdv
,
303 _Out_ ULONG
*pulBaseCheckSum
,
310 NtGdiForceUFIMapping(
312 _In_ PUNIVERSAL_FONT_ID pufi
);
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
,
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
);
334 NtGdiAddRemoteFontToDC(
336 _In_reads_bytes_(cjBuffer
) PVOID pvBuffer
,
338 _In_opt_ PUNIVERSAL_FONT_ID pufi
);
344 NtGdiAddFontMemResourceEx(
345 _In_reads_bytes_(cjBuffer
) PVOID pvBuffer
,
347 _In_reads_bytes_opt_(cjDV
) DESIGNVECTOR
*pdv
,
349 _Out_ DWORD
*pNumFonts
);
355 NtGdiRemoveFontMemResourceEx(
356 _In_ HANDLE hMMFont
);
369 NtGdiRemoveMergeFont(
371 _In_ UNIVERSAL_FONT_ID
*pufi
);
386 _Out_ PUNIVERSAL_FONT_ID pufi
,
387 _Out_opt_ DESIGNVECTOR
*pdv
,
389 _Out_ ULONG
*pulBaseCheckSum
,
391 _Out_ KERNEL_PVOID
*embFontID
);
404 NtGdiChangeGhostFont(
405 _In_ KERNEL_PVOID
*pfontID
,
414 _In_ PVOID
*pFontID
);
430 _In_reads_(ccpt
) PULONG pcpt
,
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
,
451 NtGdiComputeXformCoefficients(
461 _In_reads_(cwc
) WCHAR
*pwc
,
463 _Out_writes_(cwc
) USHORT
*psWidth
,
464 _Out_opt_ WIDTHDATA
*pwd
,
465 _Out_ FLONG
*pflInfo
);
467 _Success_(return != 0)
472 NtGdiDescribePixelFormat(
476 _Out_writes_bytes_(cjpfd
) PPIXELFORMATDESCRIPTOR ppfd
);
493 /* Not in MS ntgdi.h */
498 NtGdiSetupPublicCFONT(
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
);
519 NtGdiDdAddAttachedSurface(
520 _In_ HANDLE hSurface
,
521 _In_ HANDLE hSurfaceAttached
,
522 _Inout_ PDD_ADDATTACHEDSURFACEDATA puAddAttachedSurfaceData
);
528 NtGdiDdAttachSurface(
529 _In_ HANDLE hSurfaceFrom
,
530 _In_ HANDLE hSurfaceTo
);
537 _In_ HANDLE hSurfaceDest
,
538 _In_ HANDLE hSurfaceSrc
,
539 _Inout_ PDD_BLTDATA puBltData
);
545 NtGdiDdCanCreateSurface(
546 _In_ HANDLE hDirectDraw
,
547 _Inout_ PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
);
554 _In_ HANDLE hSurface
,
555 _Inout_ PDD_COLORCONTROLDATA puColorControlData
);
561 NtGdiDdCreateDirectDrawObject(
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
);
578 #ifdef DX_LONGHORN_PRESERVEDC
583 NtGdiDdChangeSurfacePointer(
584 _In_ HANDLE hSurface
,
585 _In_ PVOID pSurfacePointer
);
586 #endif /* DX_LONGHORN_PRESERVEDC */
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
);
604 NtGdiDdDeleteSurfaceObject(
605 _In_ HANDLE hSurface
);
611 NtGdiDdDeleteDirectDrawObject(
612 _In_ HANDLE hDirectDrawLocal
);
618 NtGdiDdDestroySurface(
619 _In_ HANDLE hSurface
,
620 _In_ BOOL bRealDestroy
);
627 _In_ HANDLE hSurfaceCurrent
,
628 _In_ HANDLE hSurfaceTarget
,
629 _In_ HANDLE hSurfaceCurrentLeft
,
630 _In_ HANDLE hSurfaceTargetLeft
,
631 _Inout_ PDD_FLIPDATA puFlipData
);
637 NtGdiDdGetAvailDriverMemory(
638 _In_ HANDLE hDirectDraw
,
639 _Inout_ PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData
);
646 _In_ HANDLE hSurface
,
647 _Inout_ PDD_GETBLTSTATUSDATA puGetBltStatusData
);
654 _In_ HANDLE hSurface
,
655 _In_ PALETTEENTRY
* puColorTable
);
661 NtGdiDdGetDriverInfo(
662 _In_ HANDLE hDirectDraw
,
663 _Inout_ PDD_GETDRIVERINFODATA puGetDriverInfoData
);
669 NtGdiDdGetFlipStatus(
670 _In_ HANDLE hSurface
,
671 _Inout_ PDD_GETFLIPSTATUSDATA puGetFlipStatusData
);
678 _In_ HANDLE hDirectDraw
,
679 _Inout_ PDD_GETSCANLINEDATA puGetScanLineData
);
685 NtGdiDdSetExclusiveMode(
686 _In_ HANDLE hDirectDraw
,
687 _Inout_ PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData
);
693 NtGdiDdFlipToGDISurface(
694 _In_ HANDLE hDirectDraw
,
695 _Inout_ PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData
);
702 _In_ HANDLE hSurface
,
703 _Inout_ PDD_LOCKDATA puLockData
,
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
);
727 NtGdiDdReenableDirectDrawObject(
728 _In_ HANDLE hDirectDrawLocal
,
729 _Inout_ BOOL
* pubNewMode
);
736 _In_ HANDLE hSurface
);
743 _In_ HANDLE hSurface
,
751 _In_ HANDLE hSurface
,
752 _Inout_ PDD_SETCOLORKEYDATA puSetColorKeyData
);
758 NtGdiDdSetOverlayPosition(
759 _In_ HANDLE hSurfaceSource
,
760 _In_ HANDLE hSurfaceDestination
,
761 _Inout_ PDD_SETOVERLAYPOSITIONDATA puSetOverlayPositionData
);
767 NtGdiDdUnattachSurface(
768 _In_ HANDLE hSurface
,
769 _In_ HANDLE hSurfaceAttached
);
776 _In_ HANDLE hSurface
,
777 _Inout_ PDD_UNLOCKDATA puUnlockData
);
783 NtGdiDdUpdateOverlay(
784 _In_ HANDLE hSurfaceDestination
,
785 _In_ HANDLE hSurfaceSource
,
786 _Inout_ PDD_UPDATEOVERLAYDATA puUpdateOverlayData
);
792 NtGdiDdWaitForVerticalBlank(
793 _In_ HANDLE hDirectDraw
,
794 _Inout_ PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData
);
801 _In_opt_ HANDLE hDirectDraw
,
802 _In_opt_ HANDLE hSurface
,
810 _In_ HANDLE hDirectDraw
,
812 _In_reads_bytes_(sizeof(GAMMARAMP
)) LPVOID lpGammaRamp
);
819 _In_ HANDLE hSurface
,
820 _Inout_ PDD_LOCKDATA puLockData
);
827 _In_ HANDLE hSurface
,
828 _Inout_ PDD_UNLOCKDATA puUnlockData
);
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
);
848 NtGdiDdCanCreateD3DBuffer(
849 _In_ HANDLE hDirectDraw
,
850 _Inout_ PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
);
856 NtGdiDdDestroyD3DBuffer(
857 _In_ HANDLE hSurface
);
863 NtGdiD3dContextCreate(
864 _In_ HANDLE hDirectDrawLocal
,
865 _In_ HANDLE hSurfColor
,
867 _Inout_ D3DNTHAL_CONTEXTCREATEI
*pdcci
);
873 NtGdiD3dContextDestroy(
874 _In_ LPD3DNTHAL_CONTEXTDESTROYDATA pdcdd
);
880 NtGdiD3dContextDestroyAll(
881 _Out_ LPD3DNTHAL_CONTEXTDESTROYALLDATA pdcdad
);
887 NtGdiD3dValidateTextureStageState(
888 _Inout_ LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData
);
894 NtGdiD3dDrawPrimitives2(
897 _Inout_ LPD3DNTHAL_DRAWPRIMITIVES2DATA pded
,
898 _Inout_ FLATPTR
* pfpVidMemCmd
,
899 _Inout_ DWORD
* pdwSizeCmd
,
900 _Inout_ FLATPTR
* pfpVidMemVtx
,
901 _Inout_ DWORD
* pdwSizeVtx
);
907 NtGdiDdGetDriverState(
908 _Inout_ PDD_GETDRIVERSTATEDATA pdata
);
914 NtGdiDdCreateSurfaceEx(
915 _In_ HANDLE hDirectDraw
,
916 _In_ HANDLE hSurface
,
917 _In_ DWORD dwSurfaceHandle
);
923 NtGdiDvpCanCreateVideoPort(
924 _In_ HANDLE hDirectDraw
,
925 _Inout_ PDD_CANCREATEVPORTDATA puCanCreateVPortData
);
931 NtGdiDvpColorControl(
932 _In_ HANDLE hVideoPort
,
933 _Inout_ PDD_VPORTCOLORDATA puVPortColorData
);
939 NtGdiDvpCreateVideoPort(
940 _In_ HANDLE hDirectDraw
,
941 _Inout_ PDD_CREATEVPORTDATA puCreateVPortData
);
947 NtGdiDvpDestroyVideoPort(
948 _In_ HANDLE hVideoPort
,
949 _Inout_ PDD_DESTROYVPORTDATA puDestroyVPortData
);
955 NtGdiDvpFlipVideoPort(
956 _In_ HANDLE hVideoPort
,
957 _In_ HANDLE hDDSurfaceCurrent
,
958 _In_ HANDLE hDDSurfaceTarget
,
959 _Inout_ PDD_FLIPVPORTDATA puFlipVPortData
);
965 NtGdiDvpGetVideoPortBandwidth(
966 _In_ HANDLE hVideoPort
,
967 _Inout_ PDD_GETVPORTBANDWIDTHDATA puGetVPortBandwidthData
);
973 NtGdiDvpGetVideoPortField(
974 _In_ HANDLE hVideoPort
,
975 _Inout_ PDD_GETVPORTFIELDDATA puGetVPortFieldData
);
981 NtGdiDvpGetVideoPortFlipStatus(
982 _In_ HANDLE hDirectDraw
,
983 _Inout_ PDD_GETVPORTFLIPSTATUSDATA puGetVPortFlipStatusData
);
989 NtGdiDvpGetVideoPortInputFormats(
990 _In_ HANDLE hVideoPort
,
991 _Inout_ PDD_GETVPORTINPUTFORMATDATA puGetVPortInputFormatData
);
997 NtGdiDvpGetVideoPortLine(
998 _In_ HANDLE hVideoPort
,
999 _Inout_ PDD_GETVPORTLINEDATA puGetVPortLineData
);
1005 NtGdiDvpGetVideoPortOutputFormats(
1006 _In_ HANDLE hVideoPort
,
1007 _Inout_ PDD_GETVPORTOUTPUTFORMATDATA puGetVPortOutputFormatData
);
1013 NtGdiDvpGetVideoPortConnectInfo(
1014 _In_ HANDLE hDirectDraw
,
1015 _Inout_ PDD_GETVPORTCONNECTDATA puGetVPortConnectData
);
1021 NtGdiDvpGetVideoSignalStatus(
1022 _In_ HANDLE hVideoPort
,
1023 _Inout_ PDD_GETVPORTSIGNALDATA puGetVPortSignalData
);
1029 NtGdiDvpUpdateVideoPort(
1030 _In_ HANDLE hVideoPort
,
1031 _In_ HANDLE
* phSurfaceVideo
,
1032 _In_ HANDLE
* phSurfaceVbi
,
1033 _Inout_ PDD_UPDATEVPORTDATA puUpdateVPortData
);
1039 NtGdiDvpWaitForVideoPortSync(
1040 _In_ HANDLE hVideoPort
,
1041 _Inout_ PDD_WAITFORVPORTSYNCDATA puWaitForVPortSyncData
);
1047 NtGdiDvpAcquireNotification(
1048 _In_ HANDLE hVideoPort
,
1049 _Inout_ HANDLE
* hEvent
,
1050 _In_ LPDDVIDEOPORTNOTIFY pNotify
);
1056 NtGdiDvpReleaseNotification(
1057 _In_ HANDLE hVideoPort
,
1058 _In_ HANDLE hEvent
);
1064 NtGdiDdGetMoCompGuids(
1065 _In_ HANDLE hDirectDraw
,
1066 _Inout_ PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData
);
1072 NtGdiDdGetMoCompFormats(
1073 _In_ HANDLE hDirectDraw
,
1074 _Inout_ PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData
);
1080 NtGdiDdGetMoCompBuffInfo(
1081 _In_ HANDLE hDirectDraw
,
1082 _Inout_ PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData
);
1088 NtGdiDdGetInternalMoCompInfo(
1089 _In_ HANDLE hDirectDraw
,
1090 _Inout_ PDD_GETINTERNALMOCOMPDATA puGetInternalData
);
1096 NtGdiDdCreateMoComp(
1097 _In_ HANDLE hDirectDraw
,
1098 _Inout_ PDD_CREATEMOCOMPDATA puCreateMoCompData
);
1104 NtGdiDdDestroyMoComp(
1105 _In_ HANDLE hMoComp
,
1106 _Inout_ PDD_DESTROYMOCOMPDATA puDestroyMoCompData
);
1112 NtGdiDdBeginMoCompFrame(
1113 _In_ HANDLE hMoComp
,
1114 _Inout_ PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData
);
1120 NtGdiDdEndMoCompFrame(
1121 _In_ HANDLE hMoComp
,
1122 _Inout_ PDD_ENDMOCOMPFRAMEDATA puEndFrameData
);
1128 NtGdiDdRenderMoComp(
1129 _In_ HANDLE hMoComp
,
1130 _Inout_ PDD_RENDERMOCOMPDATA puRenderMoCompData
);
1136 NtGdiDdQueryMoCompStatus(
1137 _In_ HANDLE hMoComp
,
1138 _Inout_ PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData
);
1145 _In_ HANDLE hSurfaceDest
,
1146 _In_opt_ HANDLE hSurfaceSrc
,
1147 _Inout_ PDD_BLTDATA puBltData
);
1164 _In_ BLENDFUNCTION BlendFunction
,
1165 _In_ HANDLE hcmXform
);
1173 _In_ PTRIVERTEX pVertex
,
1185 _In_ ULONG nCommand
,
1192 NtGdiCreateColorSpace(
1193 _In_ PLOGCOLORSPACEEXW pLogColorSpace
);
1199 NtGdiDeleteColorSpace(
1200 _In_ HANDLE hColorSpace
);
1208 _In_ HCOLORSPACE hColorSpace
);
1214 NtGdiCreateColorTransform(
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
);
1228 NtGdiDeleteColorTransform(
1230 _In_ HANDLE hColorTransform
);
1236 NtGdiCheckBitmapBits(
1238 _In_ HANDLE hColorTransform
,
1239 _In_reads_bytes_(dwStride
* dwHeight
) PVOID pvBits
,
1240 _In_ ULONG bmFormat
,
1242 _In_ DWORD dwHeight
,
1243 _In_ DWORD dwStride
,
1244 _Out_writes_bytes_(dwWidth
* dwHeight
) PBYTE paResults
);
1250 NtGdiColorCorrectPalette(
1253 _In_ ULONG uFirstEntry
,
1254 _In_ ULONG cPalEntries
,
1255 _Inout_updates_(cPalEntries
) PALETTEENTRY
*ppalEntry
,
1256 _In_ ULONG uCommand
);
1262 NtGdiGetColorSpaceforBitmap(
1263 _In_ HBITMAP hsurf
);
1265 _Success_(return!=FALSE
)
1270 NtGdiGetDeviceGammaRamp(
1272 _Out_writes_bytes_(sizeof(GAMMARAMP
)) LPVOID lpGammaRamp
);
1278 NtGdiSetDeviceGammaRamp(
1280 _In_reads_bytes_(sizeof(GAMMARAMP
)) LPVOID lpGammaRamp
);
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
);
1307 NtGdiCreateMetafileDC(
1322 NtGdiCreateClientObj(
1329 NtGdiDeleteClientObj(
1339 _Out_writes_bytes_opt_(cjMax
) PBYTE pjOut
);
1345 NtGdiDeleteObjectApp(
1354 _Out_writes_opt_(cptBuf
) LPPOINT pptlBuf
,
1355 _Out_writes_opt_(cptBuf
) LPBYTE pjTypes
,
1362 NtGdiCreateCompatibleDC(
1369 NtGdiCreateDIBitmapInternal(
1374 _In_reads_bytes_opt_(cjMaxBits
) LPBYTE pjInit
,
1375 _In_reads_bytes_opt_(cjMaxInitInfo
) LPBITMAPINFO pbmi
,
1377 _In_ UINT cjMaxInitInfo
,
1378 _In_ UINT cjMaxBits
,
1380 _In_ HANDLE hcmXform
);
1386 NtGdiCreateDIBSection(
1388 _In_opt_ HANDLE hSectionApp
,
1389 _In_ DWORD dwOffset
,
1390 _In_reads_bytes_opt_(cjHeader
) LPBITMAPINFO pbmi
,
1394 _In_ ULONG_PTR dwColorSpace
,
1395 _Outptr_ PVOID
*ppvBits
);
1401 NtGdiCreateSolidBrush(
1403 _In_opt_ HBRUSH hbr
);
1409 NtGdiCreateDIBBrush(
1410 _In_reads_bytes_(cj
) PVOID pv
,
1415 _In_ PVOID pClient
);
1421 NtGdiCreatePatternBrushInternal(
1430 NtGdiCreateHatchBrushInternal(
1440 _In_ ULONG flPenStyle
,
1442 _In_ ULONG iBrushStyle
,
1444 _In_ ULONG_PTR lClientHatch
,
1445 _In_ ULONG_PTR lHatch
,
1447 _In_reads_opt_(cstyle
) PULONG pulStyle
,
1449 _In_ BOOL bOldStylePen
,
1450 _In_opt_ HBRUSH hbrush
);
1456 NtGdiCreateEllipticRgn(
1466 NtGdiCreateRoundRectRgn(
1478 NtGdiCreateServerMetaFile(
1481 _In_reads_bytes_(cjData
) LPBYTE pjData
,
1490 NtGdiExtCreateRegion(
1491 _In_opt_ LPXFORM px
,
1493 _In_reads_bytes_(cj
) LPRGNDATA prgndata
);
1501 _Out_writes_bytes_(cjFontDir
) PBYTE pjFontDir
,
1502 _In_ UINT cjFontDir
,
1503 _In_reads_bytes_(cjPathname
) LPWSTR pwszPathname
,
1504 _In_ UINT cjPathname
);
1512 _In_reads_(cpt
) LPPOINT ppt
,
1513 _In_reads_(cpt
) LPBYTE pjAttr
,
1522 _In_reads_(cStr
) POLYTEXTW
*pptw
,
1524 _In_ DWORD dwCodePage
);
1530 NtGdiGetServerMetaFileBits(
1533 _Out_writes_bytes_opt_(cjData
) LPBYTE pjData
,
1534 _Out_ PDWORD piType
,
1537 _Out_ PDWORD pyExt
);
1547 _Must_inspect_result_
1548 _Success_(return!=FALSE
)
1553 NtGdiGetBitmapDimension(
1555 _Out_ LPSIZE psize
);
1561 NtGdiGetNearestPaletteIndex(
1563 _In_ COLORREF crColor
);
1586 NtGdiRemoveFontResourceW(
1587 _In_reads_(cwc
) WCHAR
*pwszFiles
,
1591 _In_ DWORD dwPidTid
,
1592 _In_opt_ DESIGNVECTOR
*pdv
);
1606 NtGdiSetBitmapDimension(
1610 _In_opt_ LPSIZE psizeOut
);
1632 NtGdiSetTextJustification(
1634 _In_ INT lBreakExtra
,
1637 _Success_(return!=ERROR
)
1650 NtGdiGetTextExtentExW(
1652 _In_reads_opt_(cwc
) LPWSTR pwsz
,
1655 _Out_opt_ ULONG
*pcCh
,
1656 _Out_writes_to_opt_(cwc
, *pcCh
) PULONG pdxOut
,
1664 NtGdiGetCharABCWidthsW(
1668 _In_reads_opt_(cwch
) PWCHAR pwch
,
1670 _Out_writes_bytes_(cwch
* sizeof(ABC
)) PVOID pvBuf
);
1676 NtGdiGetCharacterPlacementW(
1678 _In_reads_z_(nCount
) LPWSTR pwsz
,
1680 _In_ INT nMaxExtent
,
1681 _Inout_ LPGCP_RESULTSW pgcpw
,
1682 _In_ DWORD dwFlags
);
1692 _In_ DWORD dwRadius
,
1693 _In_ DWORD dwStartAngle
,
1694 _In_ DWORD dwSweepAngle
);
1707 NtGdiSelectClipPath(
1743 NtGdiStrokeAndFillPath(
1781 _Inout_opt_ PDWORD pdwOut
);
1789 _In_ DWORD dwxScale
,
1790 _In_ DWORD dwyScale
);
1792 _Success_(return != FALSE
)
1799 _Out_ PDWORD pdwOut
);
1842 _In_reads_(3) LPPOINT pptlTrg
,
1848 _In_opt_ HBITMAP hbmMask
,
1851 _In_ DWORD crBackColor
);
1866 _In_opt_ HBITMAP hbmMask
,
1870 _In_ DWORD crBackColor
);
1880 _In_ COLORREF crColor
,
1881 _In_ UINT iFillType
);
1890 _In_ HBRUSH hbrush
);
1911 _In_ COLORREF crColor
);
1943 _Out_ BOOL
*pbBanding
,
1975 _In_reads_opt_(cwc
) PWCHAR pwc
,
1977 _Out_writes_bytes_(cwc
* sizeof(ULONG
)) PVOID pvBuf
);
1983 NtGdiGetCharWidthInfo(
1985 _Out_ PCHWIDTHINFO pChWidthInfo
);
1995 _In_reads_bytes_opt_(cjIn
) LPSTR pjIn
);
2003 _In_reads_opt_(cwcDriver
) PWCHAR pDriver
,
2007 _In_reads_bytes_opt_(cjIn
) LPSTR pjIn
,
2009 _Out_writes_bytes_opt_(cjOut
) LPSTR pjOut
);
2011 _Success_(return != GDI_ERROR
)
2019 _In_ DWORD dwOffset
,
2020 _Out_writes_bytes_to_opt_(cjBuf
, return) PVOID pvBuf
,
2027 NtGdiGetFontFileData(
2028 _In_ UINT uFileCollectionID
,
2029 _In_ UINT uFileIndex
,
2030 _In_ PULONGLONG pullFileOffset
,
2031 _Out_writes_bytes_(cjBuf
) PVOID pvBuf
,
2034 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
2039 NtGdiGetFontFileInfo(
2040 _In_ UINT uFileCollectionID
,
2041 _In_ UINT uFileIndex
,
2042 _Out_writes_bytes_(cjSize
) PFONT_FILE_INFO pffi
,
2044 _Out_opt_ PSIZE_T pcjActualSize
);
2045 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN7) */
2051 NtGdiGetGlyphOutline(
2055 _Out_ LPGLYPHMETRICS pgm
,
2057 _Out_writes_bytes_opt_(cjBuf
) PVOID pvBuf
,
2059 _In_ BOOL bIgnoreRotation
);
2067 _Out_opt_ EXTTEXTMETRIC
*petm
);
2073 NtGdiGetRasterizerCaps(
2074 _Out_writes_bytes_(cjBytes
) LPRASTERIZER_STATUS praststat
,
2075 _In_ ULONG cjBytes
);
2081 NtGdiGetKerningPairs(
2084 _Out_writes_to_opt_(cPairs
, return) KERNINGPAIR
*pkpDst
);
2097 NtGdiGetObjectBitmapHandle(
2099 _Out_ UINT
*piUsage
);
2107 _In_ INT iObjectType
,
2109 _Out_writes_bytes_opt_(cjBuf
) PVOID pvBuf
);
2117 _In_ LPDEVMODEW pdm
,
2118 _Out_ PBOOL pbBanding
,
2119 _In_opt_ DRIVER_INFO_2W
*pDriverInfo2
,
2120 _At_((PUMDHPDEV
*)ppUMdhpdev
, _Out_
) PVOID ppUMdhpdev
);
2135 NtGdiGetColorAdjustment(
2137 _Out_ PCOLORADJUSTMENT pcaOut
);
2143 NtGdiSetColorAdjustment(
2145 _In_ PCOLORADJUSTMENT pca
);
2159 _In_opt_ PUNICODE_STRING pustrDevice
,
2161 _In_ PUNICODE_STRING pustrLogAddr
,
2164 _In_opt_ HANDLE hspool
,
2165 _At_((PUMDHPDEV
*)pUMdhpdev
, _Out_
) PVOID pUMdhpdev
);
2174 _Out_ DWORD
*Result
);
2176 _Success_(return!=FALSE
)
2184 _Out_ PPOINTL pptOut
);
2190 NtGdiScaleViewportExtEx(
2196 _Out_opt_ LPSIZE pszOut
);
2202 NtGdiScaleWindowExtEx(
2208 _Out_opt_ LPSIZE pszOut
);
2214 NtGdiSetVirtualResolution(
2216 _In_ INT cxVirtualDevicePixel
,
2217 _In_ INT cyVirtualDevicePixel
,
2218 _In_ INT cxVirtualDeviceMm
,
2219 _In_ INT cyVirtualDeviceMm
);
2227 _In_ INT cxVirtualDevice
,
2228 _In_ INT cyVirtualDevice
);
2230 _Success_(return !=FALSE
)
2244 NtGdiModifyWorldTransform(
2246 _In_opt_ LPXFORM pxf
,
2253 NtGdiCombineTransform(
2254 _Out_ LPXFORM pxfDst
,
2255 _In_ LPXFORM pxfSrc1
,
2256 _In_ LPXFORM pxfSrc2
);
2262 NtGdiTransformPoints(
2264 _In_reads_(c
) PPOINT pptIn
,
2265 _Out_writes_(c
) PPOINT pptOut
,
2273 NtGdiConvertMetafileRect(
2275 _Inout_ PRECTL prect
);
2281 NtGdiGetTextCharsetInfo(
2283 _Out_opt_ LPFONTSIGNATURE lpSig
,
2284 _In_ DWORD dwFlags
);
2300 NtGdiGetPerBandInfo(
2302 _Inout_ PERBANDINFO
*ppbi
);
2309 _In_ HANDLE hProcess
,
2312 _Out_writes_bytes_(cjResultSize
) PVOID pResults
,
2313 _In_ UINT cjResultSize
);
2319 NtGdiSetMagicColors(
2321 _In_ PALETTEENTRY peMagic
,
2330 _In_ HBRUSH hbrush
);
2360 NtGdiExtSelectClipRgn(
2373 _In_opt_ HBRUSH hbr
);
2375 #ifdef _WINDOWBLT_NOTIFICATION_
2386 _In_opt_ HDC hdcSrc
,
2390 _In_ DWORD crBackColor
,
2403 _In_opt_ HDC hdcSrc
,
2407 _In_ DWORD crBackColor
);
2416 _In_ RECTL
*prectDst
,
2418 _In_ RECTL
*prectSrc
,
2419 _In_ POINTL
*pptlOrigin
,
2421 _In_ DWORD crBackColor
);
2427 NtGdiTransparentBlt(
2438 _In_ COLORREF TransColor
);
2446 _In_reads_(cwc
) LPWSTR lpwsz
,
2451 _Success_(return != FALSE
)
2456 NtGdiGetTextMetricsW(
2458 _Out_writes_bytes_(cj
) TMW_INTERNAL
*ptm
,
2468 _Out_writes_to_opt_(cChar
, return) LPWSTR pszOut
,
2469 _In_ BOOL bAliasName
);
2489 _In_opt_ LPRECT prcl
,
2490 _In_reads_opt_(cwc
) LPWSTR pwsz
,
2491 _In_range_(0, 0xffff) INT cwc
,
2492 _In_reads_opt_(_Inexpressible_(cwc
)) LPINT pdx
,
2493 _In_ DWORD dwCodePage
);
2499 NtGdiIntersectClipRect(
2535 _In_reads_(cPoly
) PPOLYPATBLT pPoly
,
2543 NtGdiUnrealizeObject(
2550 NtGdiGetStockObject(
2557 NtGdiCreateCompatibleBitmap(
2566 NtGdiCreateBitmapFromDxSurface(
2571 _In_opt_ HANDLE hDxSharedSurface
);
2577 NtGdiCreateBitmapFromDxSurface2(
2582 _In_ DWORD SubresourceIndex
,
2583 _In_ BOOL bSharedSurfaceNtHandle
,
2584 _In_opt_ HANDLE hDxSharedSurface
);
2590 NtGdiBeginGdiRendering(
2593 _In_ PVOID KernelModeDeviceHandle
);
2599 NtGdiEndGdiRendering(
2602 _Out_ BOOL
* pbDeviceRemoved
,
2603 _In_ PVOID KernelModeDeviceHandle
);
2614 _Success_(return != FALSE
)
2623 _Out_opt_ LPPOINT pptOut
);
2625 _Success_(return != 0)
2633 _Out_writes_bytes_opt_(cj
) LPVOID pvOut
);
2643 _Success_(return!=FALSE
)
2648 NtGdiGetDeviceCapsAll (
2650 _Out_ PDEVCAPS pDevCaps
);
2662 _In_opt_ HDC hdcSrc
,
2668 _In_ DWORD dwBackColor
);
2670 _Success_(return!=FALSE
)
2679 _Out_opt_ LPPOINT pptOut
);
2690 _In_opt_ LPBYTE pjInit
);
2696 NtGdiCreateHalftonePalette(
2711 NtGdiExcludeClipRect(
2732 _In_opt_ HRGN hrgnSrc2
,
2753 _In_reads_bytes_(cj
) PBYTE pjInit
);
2755 _Success_(return!=0)
2760 NtGdiGetDIBitsInternal(
2763 _In_ UINT iStartScan
,
2765 _Out_writes_bytes_opt_(cjMaxBits
) LPBYTE pjBits
,
2766 _Inout_ LPBITMAPINFO pbmi
,
2768 _In_ UINT cjMaxBits
,
2769 _In_ UINT cjMaxInfo
);
2780 _Success_(return!=ERROR
)
2787 _Out_ LPRECT prcOut
);
2795 _Inout_ LPRECT prcl
);
2797 _Success_(return!=0)
2820 NtGdiGetNearestColor(
2828 NtGdiGetSystemPaletteUse(
2835 NtGdiSetSystemPaletteUse(
2839 _Success_(return!=0)
2846 _In_ ULONG cjBuffer
,
2847 _Out_writes_bytes_to_opt_(cjBuffer
, return) LPRGNDATA lpRgnData
);
2861 NtGdiAddFontResourceW(
2862 _In_reads_(cwc
) WCHAR
*pwszFiles
,
2866 _In_ DWORD dwPidTid
,
2867 _In_opt_ DESIGNVECTOR
*pdv
);
2874 _In_reads_bytes_(cjElfw
) ENUMLOGFONTEXDVW
*pelfw
,
2878 _In_ PVOID pvCliData
);
2884 NtGdiSetFontEnumeration(
2893 _In_ ULONG iEnumType
,
2894 _In_ FLONG flWin31Compat
,
2895 _In_ ULONG cchFaceName
,
2896 _In_reads_opt_(cchFaceName
) LPCWSTR pwszFaceName
,
2897 _In_ ULONG lfCharSet
,
2898 _Inout_ ULONG
*pulCount
,
2899 _Out_writes_bytes_opt_(*pulCount
) PVOID pvUserModeBuffer
);
2906 _In_ ULONG_PTR idEnum
);
2914 _In_ ULONG_PTR idEnum
,
2916 _Out_ ULONG
*pcjEfdw
,
2917 _Out_ PENUMFONTDATAW pefdw
);
2925 _In_ ULONG iEnumType
,
2926 _In_ FLONG flWin31Compat
,
2928 _In_opt_ LPWSTR pwszFaceName
,
2929 _In_ ULONG lfCharSet
,
2930 _Out_ ULONG
*pulCount
);
2937 _Out_writes_(nBufferSize
) PUNIVERSAL_FONT_ID pufiFontList
,
2938 _In_ ULONG nBufferSize
,
2939 _Out_ PLARGE_INTEGER pTimeStamp
);
2945 NtGdiConsoleTextOut(
2947 _In_ POLYTEXTW
*lpto
,
2949 _In_ RECTL
*prclBounds
);
2955 NtGdiFullscreenControl(
2956 _In_ FULLSCREENCONTROL FullscreenCommand
,
2957 _In_ PVOID FullscreenInput
,
2958 _In_ DWORD FullscreenInputLength
,
2959 _Out_ PVOID FullscreenOutput
,
2960 _Inout_ PULONG FullscreenOutputLength
);
2980 NtGdiEudcLoadUnloadLink(
2981 _In_reads_opt_(cwcBaseFaceName
) LPCWSTR pBaseFaceName
,
2982 _In_ UINT cwcBaseFaceName
,
2983 _In_reads_(cwcEudcFontPath
) LPCWSTR pEudcFontPath
,
2984 _In_ UINT cwcEudcFontPath
,
2986 _In_ INT iFontLinkType
,
2987 _In_ BOOL bLoadLin
);
2993 NtGdiGetStringBitmapW(
2997 _Out_writes_bytes_(cj
) BYTE
*lpSB
,
3004 NtGdiGetEudcTimeStampEx(
3005 _In_reads_opt_(cwcBaseFaceName
) LPWSTR lpBaseFaceName
,
3006 _In_ ULONG cwcBaseFaceName
,
3007 _In_ BOOL bSystemTimeStamp
);
3013 NtGdiQueryFontAssocInfo(
3020 NtGdiGetFontUnicodeRanges(
3022 _Out_
_Post_bytecount_(return) LPGLYPHSET pgs
);
3025 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
3029 NtGdiGetRealizationInfo(
3031 _Out_ PFONT_REALIZATION_INFO pri
);
3037 NtGdiGetRealizationInfo(
3039 _Out_ PREALIZATION_INFO pri
,
3048 NtGdiAddRemoteMMInstanceToDC(
3050 _In_reads_bytes_(cjDDV
) DOWNLOADDESIGNVECTOR
*pddv
,
3057 NtGdiUnloadPrinterDriver(
3058 _In_reads_bytes_(cbDriverName
) LPWSTR pDriverName
,
3059 _In_ ULONG cbDriverName
);
3072 NtGdiGetSpoolMessage(
3082 NtGdiEngAssociateSurface(
3085 _In_ FLONG flHooks
);
3091 NtGdiEngEraseSurface(
3100 NtGdiEngCreateBitmap(
3105 _In_opt_ PVOID pvBits
);
3111 NtGdiEngDeleteSurface(
3118 NtGdiEngLockSurface(
3125 NtGdiEngUnlockSurface(
3132 NtGdiEngMarkBandingSurface(
3139 NtGdiEngCreateDeviceSurface(
3142 _In_ ULONG iFormatCompat
);
3148 NtGdiEngCreateDeviceBitmap(
3151 _In_ ULONG iFormatCompat
);
3158 _In_ SURFOBJ
*psoDst
,
3159 _In_ SURFOBJ
*psoSrc
,
3160 _In_opt_ CLIPOBJ
*pco
,
3161 _In_opt_ XLATEOBJ
*pxlo
,
3162 _In_ RECTL
*prclDst
,
3163 _In_ POINTL
*pptlSrc
);
3170 _In_ SURFOBJ
*psoDest
,
3171 _In_ SURFOBJ
*psoSrc
,
3172 _In_opt_ SURFOBJ
*psoMask
,
3173 _In_opt_ CLIPOBJ
*pco
,
3174 _In_opt_ XLATEOBJ
*pxlo
,
3175 _In_opt_ COLORADJUSTMENT
*pca
,
3176 _In_ POINTL
*pptlHTOrg
,
3177 _In_ RECTL
*prclDest
,
3178 _In_ RECTL
*prclSrc
,
3179 _In_opt_ POINTL
*pptlMask
,
3187 _In_ SURFOBJ
*psoTrg
,
3188 _In_opt_ SURFOBJ
*psoSrc
,
3189 _In_opt_ SURFOBJ
*psoMask
,
3190 _In_opt_ CLIPOBJ
*pco
,
3191 _In_opt_ XLATEOBJ
*pxlo
,
3192 _In_ RECTL
*prclTrg
,
3193 _In_opt_ POINTL
*pptlSrc
,
3194 _In_opt_ POINTL
*pptlMask
,
3195 _In_opt_ BRUSHOBJ
*pbo
,
3196 _In_opt_ POINTL
*pptlBrush
,
3204 _In_ SURFOBJ
*psoTrg
,
3205 _In_ SURFOBJ
*psoSrc
,
3206 _In_opt_ SURFOBJ
*psoMsk
,
3208 _In_opt_ XLATEOBJ
*pxlo
,
3209 _In_ COLORADJUSTMENT
*pca
,
3210 _In_ POINTL
*pptlBrushOrg
,
3211 _In_ POINTFIX
*pptfx
,
3213 _In_opt_ POINTL
*pptl
,
3220 NtGdiEngCreatePalette(
3223 _In_ ULONG
*pulColors
,
3232 NtGdiEngDeletePalette(
3233 _In_ HPALETTE hPal
);
3245 _In_ POINTL
*pptlBrushOrg
,
3246 _In_ LINEATTRS
*plineattrs
,
3258 _In_ POINTL
*pptlBrushOrg
,
3260 _In_ FLONG flOptions
);
3266 NtGdiEngStrokeAndFillPath(
3269 _In_ CLIPOBJ
*pco
,IN XFORMOBJ
*pxo
,
3270 _In_ BRUSHOBJ
*pboStroke
,
3271 _In_ LINEATTRS
*plineattrs
,
3272 _In_ BRUSHOBJ
*pboFill
,
3273 _In_ POINTL
*pptlBrushOrg
,
3275 _In_ FLONG flOptions
);
3285 _In_ POINTL
*pptlBrushOrg
,
3300 _In_ RECTL
*prclBounds
,
3308 _In_ SURFOBJ
*psoDest
,
3309 _In_ SURFOBJ
*psoSrc
,
3311 _In_ XLATEOBJ
*pxlo
,
3312 _In_ RECTL
*prclDest
,
3313 _In_ RECTL
*prclSrc
,
3314 _In_ BLENDOBJ
*pBlendObj
);
3320 NtGdiEngGradientFill(
3321 _In_ SURFOBJ
*psoDest
,
3323 _In_ XLATEOBJ
*pxlo
,
3324 _In_reads_(nVertex
) TRIVERTEX
*pVertex
,
3326 _In_
/* _In_reads_(nMesh) */ PVOID pMesh
,
3328 _In_ RECTL
*prclExtents
,
3329 _In_ POINTL
*pptlDitherOrg
,
3336 NtGdiEngTransparentBlt(
3337 _In_ SURFOBJ
*psoDst
,
3338 _In_ SURFOBJ
*psoSrc
,
3340 _In_ XLATEOBJ
*pxlo
,
3341 _In_ RECTL
*prclDst
,
3342 _In_ RECTL
*prclSrc
,
3343 _In_ ULONG iTransColor
,
3344 _In_ ULONG ulReserved
);
3355 _In_ RECTL
*prclExtra
,
3356 _In_ RECTL
*prclOpaque
,
3357 _In_ BRUSHOBJ
*pboFore
,
3358 _In_ BRUSHOBJ
*pboOpaque
,
3359 _In_ POINTL
*pptlOrg
,
3366 NtGdiEngStretchBltROP(
3367 _In_ SURFOBJ
*psoTrg
,
3368 _In_ SURFOBJ
*psoSrc
,
3369 _In_ SURFOBJ
*psoMask
,
3371 _In_ XLATEOBJ
*pxlo
,
3372 _In_ COLORADJUSTMENT
*pca
,
3373 _In_ POINTL
*pptlBrushOrg
,
3374 _In_ RECTL
*prclTrg
,
3375 _In_ RECTL
*prclSrc
,
3376 _In_ POINTL
*pptlMask
,
3385 NtGdiXLATEOBJ_cGetPalette(
3386 _In_ XLATEOBJ
*pxlo
,
3389 _Out_writes_(cPal
) ULONG
*pPal
);
3395 NtGdiCLIPOBJ_cEnumStart(
3399 _In_ ULONG iDirection
,
3409 _Out_writes_bytes_(cj
) ULONG
*pul
);
3415 NtGdiCLIPOBJ_ppoGetPath(
3436 NtGdiBRUSHOBJ_pvAllocRbrush(
3444 NtGdiBRUSHOBJ_pvGetRbrush(
3445 _In_ BRUSHOBJ
*pbo
);
3451 NtGdiBRUSHOBJ_ulGetBrushColor(
3452 _In_ BRUSHOBJ
*pbo
);
3458 NtGdiBRUSHOBJ_hGetColorTransform(
3459 _In_ BRUSHOBJ
*pbo
);
3465 NtGdiXFORMOBJ_bApplyXform(
3469 _In_reads_(cPoints
) PPOINTL pptIn
,
3470 _Out_writes_(cPoints
) PPOINTL pptOut
);
3476 NtGdiXFORMOBJ_iGetXform(
3478 _Out_opt_ XFORML
*pxform
);
3484 NtGdiFONTOBJ_vGetInfo(
3487 _Out_writes_bytes_(cjSize
) FONTINFO
*pfi
);
3493 NtGdiFONTOBJ_cGetGlyphs(
3498 _At_((GLYPHDATA
**)ppvGlyph
, _Outptr_
) PVOID
*ppvGlyph
);
3504 NtGdiFONTOBJ_pxoGetXform(
3525 NtGdiFONTOBJ_cGetAllGlyphHandles(
3527 _Out_opt_
_Post_count_(return) HGLYPH
*phg
);
3533 NtGdiFONTOBJ_pvTrueTypeFontFile(
3535 _Out_ ULONG
*pcjFile
);
3541 NtGdiFONTOBJ_pQueryGlyphAttrs(
3552 _Outptr_result_buffer_(*pc
) PGLYPHPOS
*ppgpos
);
3558 NtGdiSTROBJ_bEnumPositionsOnly(
3561 _Outptr_result_buffer_(*pc
) PGLYPHPOS
*ppgpos
);
3567 NtGdiSTROBJ_vEnumStart(
3568 _Inout_ STROBJ
*pstro
);
3574 NtGdiSTROBJ_dwGetCodePage(
3575 _In_ STROBJ
*pstro
);
3581 NtGdiSTROBJ_bGetAdvanceWidths(
3585 _Out_writes_(c
) POINTQF
*pptqD
);
3591 NtGdiEngComputeGlyphSet(
3593 _In_ INT nFirstChar
,
3600 NtGdiXLATEOBJ_iXlate(
3601 _In_ XLATEOBJ
*pxlo
,
3608 NtGdiXLATEOBJ_hGetColorTransform(
3609 _In_ XLATEOBJ
*pxlo
);
3615 NtGdiPATHOBJ_vGetBounds(
3617 _Out_ PRECTFX prectfx
);
3625 _Out_ PATHDATA
*ppd
);
3631 NtGdiPATHOBJ_vEnumStart(
3645 NtGdiPATHOBJ_vEnumStartClipLines(
3649 _In_ LINEATTRS
*pla
);
3655 NtGdiPATHOBJ_bEnumClipLines(
3658 _Out_writes_bytes_(cb
) CLIPLINE
*pcl
);
3678 NtGdiHT_Get8BPPFormatPalette(
3679 _Out_opt_
_Post_count_(return) LPPALETTEENTRY pPaletteEntry
,
3680 _In_ USHORT RedGamma
,
3681 _In_ USHORT GreenGamma
,
3682 _In_ USHORT BlueGamma
);
3688 NtGdiHT_Get8BPPMaskPalette(
3689 _Out_opt_
_Post_count_(return) LPPALETTEENTRY pPaletteEntry
,
3690 _In_ BOOL Use8BPPMaskPal
,
3692 _In_ USHORT RedGamma
,
3693 _In_ USHORT GreenGamma
,
3694 _In_ USHORT BlueGamma
);
3700 NtGdiUpdateTransform(
3710 _In_ DWORD dwLayout
);
3716 NtGdiMirrorWindowOrg(
3723 NtGdiGetDeviceWidth(
3730 NtGdiSetUMPDSandboxState(
3731 _In_ BOOL bEnabled
);
3738 _In_opt_ HUMPD humpd
,
3740 _Inout_opt_ HUMPD
*phumpd
,
3741 _Out_opt_ BOOL
*pbWOW64
);
3747 NtGdiBRUSHOBJ_DeleteRbrush(
3748 _In_opt_ BRUSHOBJ
*pbo
,
3749 _In_opt_ BRUSHOBJ
*pboB
);
3755 NtGdiUMPDEngFreeUserMem(
3756 _In_ KERNEL_PVOID
*ppv
);
3762 NtGdiSetBitmapAttributes(
3764 _In_ DWORD dwFlags
);
3770 NtGdiClearBitmapAttributes(
3772 _In_ DWORD dwFlags
);
3778 NtGdiSetBrushAttributes(
3780 _In_ DWORD dwFlags
);
3786 NtGdiClearBrushAttributes(
3788 _In_ DWORD dwFlags
);
3797 _In_reads_bytes_(cjIn
) VOID
*pvIn
);
3803 NtGdiMakeObjectXferable(
3805 _In_ DWORD dwProcessId
);
3811 NtGdiMakeObjectUnXferable(
3814 #ifdef PRIVATE_DWM_INTERFACE
3819 NtGdiSfmRegisterLogicalSurfaceForSignaling(
3821 BOOL fSignalOnDirty
);
3826 NtGdiDwmGetHighColorMode(
3827 _Out_ DXGI_FORMAT
* pdxgiFormat
);
3832 NtGdiDwmSetHighColorMode(
3833 _In_ DXGI_FORMAT dxgiFormat
);
3838 NtGdiDwmCaptureScreen(
3839 _In_
const RECT
* prcCapture
,
3840 _In_ DXGI_FORMAT dxgiFormat
);
3846 NtGdiDdCreateFullscreenSprite(
3848 _In_ COLORREF crKey
,
3849 _Out_ HANDLE
* phSprite
,
3850 _Out_ HDC
* phdcSprite
);
3856 NtGdiDdNotifyFullscreenSpriteUpdate(
3858 _In_ HANDLE hSprite
);
3864 NtGdiDdDestroyFullscreenSprite(
3866 _In_ HANDLE hSprite
);
3872 NtGdiDdQueryVisRgnUniqueness(
3879 NtGdiHLSurfGetInformation(
3881 _In_ HLSURF_INFORMATION_CLASS InformationClass
,
3882 _In_reads_bytes_opt_(*pcjInfoBuffer
) PVOID pvInfoBuffer
,
3883 _Inout_ PULONG pcjInfoBuffer
);
3889 NtGdiHLSurfSetInformation(
3891 _In_ HLSURF_INFORMATION_CLASS InformationClass
,
3892 _In_reads_bytes_opt_(cjInfoBuffer
) PVOID pvInfoBuffer
,
3893 _In_ ULONG cjInfoBuffer
);
3899 NtGdiDwmCreatedBitmapRemotingOutput(
3906 NtGdiGetCurrentDpiInfo(
3908 _Out_ PVOID pvStruct
);
3910 #endif /* PRIVATE_DWM_INTERFACE */
3912 #endif /* _NTGDI_ */