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
) LPWSTR 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(
1767 /* Not in MS ntgdi.h */
1772 NtGdiFlushUserBatch(
1789 _Inout_opt_ PDWORD pdwOut
);
1797 _In_ DWORD dwxScale
,
1798 _In_ DWORD dwyScale
);
1800 _Success_(return != FALSE
)
1807 _Out_ PDWORD pdwOut
);
1850 _In_reads_(3) LPPOINT pptlTrg
,
1856 _In_opt_ HBITMAP hbmMask
,
1859 _In_ DWORD crBackColor
);
1874 _In_opt_ HBITMAP hbmMask
,
1878 _In_ DWORD crBackColor
);
1888 _In_ COLORREF crColor
,
1889 _In_ UINT iFillType
);
1898 _In_ HBRUSH hbrush
);
1919 _In_ COLORREF crColor
);
1951 _Out_ BOOL
*pbBanding
,
1983 _In_reads_opt_(cwc
) PWCHAR pwc
,
1985 _Out_writes_bytes_(cwc
* sizeof(ULONG
)) PVOID pvBuf
);
1991 NtGdiGetCharWidthInfo(
1993 _Out_ PCHWIDTHINFO pChWidthInfo
);
2003 _In_reads_bytes_opt_(cjIn
) LPSTR pjIn
);
2011 _In_reads_opt_(cwcDriver
) PWCHAR pDriver
,
2015 _In_reads_bytes_opt_(cjIn
) LPSTR pjIn
,
2017 _Out_writes_bytes_opt_(cjOut
) LPSTR pjOut
);
2019 _Success_(return != GDI_ERROR
)
2027 _In_ DWORD dwOffset
,
2028 _Out_writes_bytes_to_opt_(cjBuf
, return) PVOID pvBuf
,
2035 NtGdiGetFontFileData(
2036 _In_ UINT uFileCollectionID
,
2037 _In_ UINT uFileIndex
,
2038 _In_ PULONGLONG pullFileOffset
,
2039 _Out_writes_bytes_(cjBuf
) PVOID pvBuf
,
2042 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
2047 NtGdiGetFontFileInfo(
2048 _In_ UINT uFileCollectionID
,
2049 _In_ UINT uFileIndex
,
2050 _Out_writes_bytes_(cjSize
) PFONT_FILE_INFO pffi
,
2052 _Out_opt_ PSIZE_T pcjActualSize
);
2053 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN7) */
2059 NtGdiGetGlyphOutline(
2063 _Out_ LPGLYPHMETRICS pgm
,
2065 _Out_writes_bytes_opt_(cjBuf
) PVOID pvBuf
,
2067 _In_ BOOL bIgnoreRotation
);
2075 _Out_opt_ EXTTEXTMETRIC
*petm
);
2081 NtGdiGetRasterizerCaps(
2082 _Out_writes_bytes_(cjBytes
) LPRASTERIZER_STATUS praststat
,
2083 _In_ ULONG cjBytes
);
2089 NtGdiGetKerningPairs(
2092 _Out_writes_to_opt_(cPairs
, return) KERNINGPAIR
*pkpDst
);
2105 NtGdiGetObjectBitmapHandle(
2107 _Out_ UINT
*piUsage
);
2115 _In_ INT iObjectType
,
2117 _Out_writes_bytes_opt_(cjBuf
) PVOID pvBuf
);
2125 _In_ LPDEVMODEW pdm
,
2126 _Out_ PBOOL pbBanding
,
2127 _In_opt_ DRIVER_INFO_2W
*pDriverInfo2
,
2128 _At_((PUMDHPDEV
*)ppUMdhpdev
, _Out_
) PVOID ppUMdhpdev
);
2143 NtGdiGetColorAdjustment(
2145 _Out_ PCOLORADJUSTMENT pcaOut
);
2151 NtGdiSetColorAdjustment(
2153 _In_ PCOLORADJUSTMENT pca
);
2167 _In_opt_ PUNICODE_STRING pustrDevice
,
2169 _In_ PUNICODE_STRING pustrLogAddr
,
2172 _In_opt_ HANDLE hspool
,
2173 _In_opt_ DRIVER_INFO_2W
*pDriverInfo2
,
2174 _At_((PUMDHPDEV
*)pUMdhpdev
, _Out_
) PVOID pUMdhpdev
);
2183 _Out_ DWORD
*Result
);
2185 _Success_(return!=FALSE
)
2193 _Out_ PPOINTL pptOut
);
2199 NtGdiScaleViewportExtEx(
2205 _Out_opt_ LPSIZE pszOut
);
2211 NtGdiScaleWindowExtEx(
2217 _Out_opt_ LPSIZE pszOut
);
2223 NtGdiSetVirtualResolution(
2225 _In_ INT cxVirtualDevicePixel
,
2226 _In_ INT cyVirtualDevicePixel
,
2227 _In_ INT cxVirtualDeviceMm
,
2228 _In_ INT cyVirtualDeviceMm
);
2236 _In_ INT cxVirtualDevice
,
2237 _In_ INT cyVirtualDevice
);
2239 _Success_(return !=FALSE
)
2253 NtGdiModifyWorldTransform(
2255 _In_opt_ LPXFORM pxf
,
2262 NtGdiCombineTransform(
2263 _Out_ LPXFORM pxfDst
,
2264 _In_ LPXFORM pxfSrc1
,
2265 _In_ LPXFORM pxfSrc2
);
2271 NtGdiTransformPoints(
2273 _In_reads_(c
) PPOINT pptIn
,
2274 _Out_writes_(c
) PPOINT pptOut
,
2282 NtGdiConvertMetafileRect(
2284 _Inout_ PRECTL prect
);
2290 NtGdiGetTextCharsetInfo(
2292 _Out_opt_ LPFONTSIGNATURE lpSig
,
2293 _In_ DWORD dwFlags
);
2309 NtGdiGetPerBandInfo(
2311 _Inout_ PERBANDINFO
*ppbi
);
2318 _In_ HANDLE hProcess
,
2321 _Out_writes_bytes_(cjResultSize
) PVOID pResults
,
2322 _In_ UINT cjResultSize
);
2328 NtGdiSetMagicColors(
2330 _In_ PALETTEENTRY peMagic
,
2339 _In_ HBRUSH hbrush
);
2369 NtGdiExtSelectClipRgn(
2382 _In_opt_ HBRUSH hbr
);
2384 #ifdef _WINDOWBLT_NOTIFICATION_
2395 _In_opt_ HDC hdcSrc
,
2399 _In_ DWORD crBackColor
,
2412 _In_opt_ HDC hdcSrc
,
2416 _In_ DWORD crBackColor
);
2425 _In_ RECTL
*prectDst
,
2427 _In_ RECTL
*prectSrc
,
2428 _In_ POINTL
*pptlOrigin
,
2430 _In_ DWORD crBackColor
);
2436 NtGdiTransparentBlt(
2447 _In_ COLORREF TransColor
);
2455 _In_reads_(cwc
) LPWSTR lpwsz
,
2460 _Success_(return != FALSE
)
2465 NtGdiGetTextMetricsW(
2467 _Out_writes_bytes_(cj
) TMW_INTERNAL
*ptm
,
2477 _Out_writes_to_opt_(cChar
, return) LPWSTR pszOut
,
2478 _In_ BOOL bAliasName
);
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
);
2508 NtGdiIntersectClipRect(
2544 _In_reads_(cPoly
) PPOLYPATBLT pPoly
,
2552 NtGdiUnrealizeObject(
2559 NtGdiGetStockObject(
2566 NtGdiCreateCompatibleBitmap(
2575 NtGdiCreateBitmapFromDxSurface(
2580 _In_opt_ HANDLE hDxSharedSurface
);
2586 NtGdiCreateBitmapFromDxSurface2(
2591 _In_ DWORD SubresourceIndex
,
2592 _In_ BOOL bSharedSurfaceNtHandle
,
2593 _In_opt_ HANDLE hDxSharedSurface
);
2599 NtGdiBeginGdiRendering(
2602 _In_ PVOID KernelModeDeviceHandle
);
2608 NtGdiEndGdiRendering(
2611 _Out_ BOOL
* pbDeviceRemoved
,
2612 _In_ PVOID KernelModeDeviceHandle
);
2623 _Success_(return != FALSE
)
2632 _Out_opt_ LPPOINT pptOut
);
2634 _Success_(return != 0)
2642 _Out_writes_bytes_opt_(cj
) LPVOID pvOut
);
2652 _Success_(return!=FALSE
)
2657 NtGdiGetDeviceCapsAll (
2659 _Out_ PDEVCAPS pDevCaps
);
2671 _In_opt_ HDC hdcSrc
,
2677 _In_ DWORD dwBackColor
);
2679 _Success_(return!=FALSE
)
2688 _Out_opt_ LPPOINT pptOut
);
2699 _In_opt_ LPBYTE pjInit
);
2705 NtGdiCreateHalftonePalette(
2720 NtGdiExcludeClipRect(
2741 _In_opt_ HRGN hrgnSrc2
,
2762 _In_reads_bytes_(cj
) PBYTE pjInit
);
2764 _Success_(return!=0)
2769 NtGdiGetDIBitsInternal(
2772 _In_ UINT iStartScan
,
2774 _Out_writes_bytes_opt_(cjMaxBits
) LPBYTE pjBits
,
2775 _Inout_ LPBITMAPINFO pbmi
,
2777 _In_ UINT cjMaxBits
,
2778 _In_ UINT cjMaxInfo
);
2789 _Success_(return!=ERROR
)
2796 _Out_ LPRECT prcOut
);
2804 _Inout_ LPRECT prcl
);
2806 _Success_(return!=0)
2829 NtGdiGetNearestColor(
2837 NtGdiGetSystemPaletteUse(
2844 NtGdiSetSystemPaletteUse(
2848 _Success_(return!=0)
2855 _In_ ULONG cjBuffer
,
2856 _Out_writes_bytes_to_opt_(cjBuffer
, return) LPRGNDATA lpRgnData
);
2870 NtGdiAddFontResourceW(
2871 _In_reads_(cwc
) WCHAR
*pwszFiles
,
2875 _In_ DWORD dwPidTid
,
2876 _In_opt_ DESIGNVECTOR
*pdv
);
2883 _In_reads_bytes_(cjElfw
) ENUMLOGFONTEXDVW
*pelfw
,
2887 _In_ PVOID pvCliData
);
2893 NtGdiSetFontEnumeration(
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
);
2915 _In_ ULONG_PTR idEnum
);
2923 _In_ ULONG_PTR idEnum
,
2925 _Out_ ULONG
*pcjEfdw
,
2926 _Out_ PENUMFONTDATAW pefdw
);
2934 _In_ ULONG iEnumType
,
2935 _In_ FLONG flWin31Compat
,
2937 _In_opt_ LPWSTR pwszFaceName
,
2938 _In_ ULONG lfCharSet
,
2939 _Out_ ULONG
*pulCount
);
2946 _Out_writes_(nBufferSize
) PUNIVERSAL_FONT_ID pufiFontList
,
2947 _In_ ULONG nBufferSize
,
2948 _Out_ PLARGE_INTEGER pTimeStamp
);
2954 NtGdiConsoleTextOut(
2956 _In_ POLYTEXTW
*lpto
,
2958 _In_ RECTL
*prclBounds
);
2964 NtGdiFullscreenControl(
2965 _In_ FULLSCREENCONTROL FullscreenCommand
,
2966 _In_ PVOID FullscreenInput
,
2967 _In_ DWORD FullscreenInputLength
,
2968 _Out_ PVOID FullscreenOutput
,
2969 _Inout_ PULONG FullscreenOutputLength
);
2989 NtGdiEudcLoadUnloadLink(
2990 _In_reads_opt_(cwcBaseFaceName
) LPCWSTR pBaseFaceName
,
2991 _In_ UINT cwcBaseFaceName
,
2992 _In_reads_(cwcEudcFontPath
) LPCWSTR pEudcFontPath
,
2993 _In_ UINT cwcEudcFontPath
,
2995 _In_ INT iFontLinkType
,
2996 _In_ BOOL bLoadLin
);
3002 NtGdiGetStringBitmapW(
3006 _Out_writes_bytes_(cj
) BYTE
*lpSB
,
3013 NtGdiGetEudcTimeStampEx(
3014 _In_reads_opt_(cwcBaseFaceName
) LPWSTR lpBaseFaceName
,
3015 _In_ ULONG cwcBaseFaceName
,
3016 _In_ BOOL bSystemTimeStamp
);
3022 NtGdiQueryFontAssocInfo(
3029 NtGdiGetFontUnicodeRanges(
3031 _Out_
_Post_bytecount_(return) LPGLYPHSET pgs
);
3034 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
3038 NtGdiGetRealizationInfo(
3040 _Out_ PFONT_REALIZATION_INFO pri
);
3046 NtGdiGetRealizationInfo(
3048 _Out_ PREALIZATION_INFO pri
,
3057 NtGdiAddRemoteMMInstanceToDC(
3059 _In_reads_bytes_(cjDDV
) DOWNLOADDESIGNVECTOR
*pddv
,
3066 NtGdiUnloadPrinterDriver(
3067 _In_reads_bytes_(cbDriverName
) LPWSTR pDriverName
,
3068 _In_ ULONG cbDriverName
);
3081 NtGdiGetSpoolMessage(
3091 NtGdiEngAssociateSurface(
3094 _In_ FLONG flHooks
);
3100 NtGdiEngEraseSurface(
3109 NtGdiEngCreateBitmap(
3114 _In_opt_ PVOID pvBits
);
3120 NtGdiEngDeleteSurface(
3127 NtGdiEngLockSurface(
3134 NtGdiEngUnlockSurface(
3141 NtGdiEngMarkBandingSurface(
3148 NtGdiEngCreateDeviceSurface(
3151 _In_ ULONG iFormatCompat
);
3157 NtGdiEngCreateDeviceBitmap(
3160 _In_ ULONG iFormatCompat
);
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
);
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
,
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
,
3213 _In_ SURFOBJ
*psoTrg
,
3214 _In_ SURFOBJ
*psoSrc
,
3215 _In_opt_ SURFOBJ
*psoMsk
,
3217 _In_opt_ XLATEOBJ
*pxlo
,
3218 _In_ COLORADJUSTMENT
*pca
,
3219 _In_ POINTL
*pptlBrushOrg
,
3220 _In_ POINTFIX
*pptfx
,
3222 _In_opt_ POINTL
*pptl
,
3229 NtGdiEngCreatePalette(
3232 _In_ ULONG
*pulColors
,
3241 NtGdiEngDeletePalette(
3242 _In_ HPALETTE hPal
);
3254 _In_ POINTL
*pptlBrushOrg
,
3255 _In_ LINEATTRS
*plineattrs
,
3267 _In_ POINTL
*pptlBrushOrg
,
3269 _In_ FLONG flOptions
);
3275 NtGdiEngStrokeAndFillPath(
3278 _In_ CLIPOBJ
*pco
,IN XFORMOBJ
*pxo
,
3279 _In_ BRUSHOBJ
*pboStroke
,
3280 _In_ LINEATTRS
*plineattrs
,
3281 _In_ BRUSHOBJ
*pboFill
,
3282 _In_ POINTL
*pptlBrushOrg
,
3284 _In_ FLONG flOptions
);
3294 _In_ POINTL
*pptlBrushOrg
,
3309 _In_ RECTL
*prclBounds
,
3317 _In_ SURFOBJ
*psoDest
,
3318 _In_ SURFOBJ
*psoSrc
,
3320 _In_ XLATEOBJ
*pxlo
,
3321 _In_ RECTL
*prclDest
,
3322 _In_ RECTL
*prclSrc
,
3323 _In_ BLENDOBJ
*pBlendObj
);
3329 NtGdiEngGradientFill(
3330 _In_ SURFOBJ
*psoDest
,
3332 _In_ XLATEOBJ
*pxlo
,
3333 _In_reads_(nVertex
) TRIVERTEX
*pVertex
,
3335 _In_
/* _In_reads_(nMesh) */ PVOID pMesh
,
3337 _In_ RECTL
*prclExtents
,
3338 _In_ POINTL
*pptlDitherOrg
,
3345 NtGdiEngTransparentBlt(
3346 _In_ SURFOBJ
*psoDst
,
3347 _In_ SURFOBJ
*psoSrc
,
3349 _In_ XLATEOBJ
*pxlo
,
3350 _In_ RECTL
*prclDst
,
3351 _In_ RECTL
*prclSrc
,
3352 _In_ ULONG iTransColor
,
3353 _In_ ULONG ulReserved
);
3364 _In_ RECTL
*prclExtra
,
3365 _In_ RECTL
*prclOpaque
,
3366 _In_ BRUSHOBJ
*pboFore
,
3367 _In_ BRUSHOBJ
*pboOpaque
,
3368 _In_ POINTL
*pptlOrg
,
3375 NtGdiEngStretchBltROP(
3376 _In_ SURFOBJ
*psoTrg
,
3377 _In_ SURFOBJ
*psoSrc
,
3378 _In_ SURFOBJ
*psoMask
,
3380 _In_ XLATEOBJ
*pxlo
,
3381 _In_ COLORADJUSTMENT
*pca
,
3382 _In_ POINTL
*pptlBrushOrg
,
3383 _In_ RECTL
*prclTrg
,
3384 _In_ RECTL
*prclSrc
,
3385 _In_ POINTL
*pptlMask
,
3394 NtGdiXLATEOBJ_cGetPalette(
3395 _In_ XLATEOBJ
*pxlo
,
3398 _Out_writes_(cPal
) ULONG
*pPal
);
3404 NtGdiCLIPOBJ_cEnumStart(
3408 _In_ ULONG iDirection
,
3418 _Out_writes_bytes_(cj
) ULONG
*pul
);
3424 NtGdiCLIPOBJ_ppoGetPath(
3445 NtGdiBRUSHOBJ_pvAllocRbrush(
3453 NtGdiBRUSHOBJ_pvGetRbrush(
3454 _In_ BRUSHOBJ
*pbo
);
3460 NtGdiBRUSHOBJ_ulGetBrushColor(
3461 _In_ BRUSHOBJ
*pbo
);
3467 NtGdiBRUSHOBJ_hGetColorTransform(
3468 _In_ BRUSHOBJ
*pbo
);
3474 NtGdiXFORMOBJ_bApplyXform(
3478 _In_reads_(cPoints
) PPOINTL pptIn
,
3479 _Out_writes_(cPoints
) PPOINTL pptOut
);
3485 NtGdiXFORMOBJ_iGetXform(
3487 _Out_opt_ XFORML
*pxform
);
3493 NtGdiFONTOBJ_vGetInfo(
3496 _Out_writes_bytes_(cjSize
) FONTINFO
*pfi
);
3502 NtGdiFONTOBJ_cGetGlyphs(
3507 _At_((GLYPHDATA
**)ppvGlyph
, _Outptr_
) PVOID
*ppvGlyph
);
3513 NtGdiFONTOBJ_pxoGetXform(
3534 NtGdiFONTOBJ_cGetAllGlyphHandles(
3536 _Out_opt_
_Post_count_(return) HGLYPH
*phg
);
3542 NtGdiFONTOBJ_pvTrueTypeFontFile(
3544 _Out_ ULONG
*pcjFile
);
3550 NtGdiFONTOBJ_pQueryGlyphAttrs(
3561 _Outptr_result_buffer_(*pc
) PGLYPHPOS
*ppgpos
);
3567 NtGdiSTROBJ_bEnumPositionsOnly(
3570 _Outptr_result_buffer_(*pc
) PGLYPHPOS
*ppgpos
);
3576 NtGdiSTROBJ_vEnumStart(
3577 _Inout_ STROBJ
*pstro
);
3583 NtGdiSTROBJ_dwGetCodePage(
3584 _In_ STROBJ
*pstro
);
3590 NtGdiSTROBJ_bGetAdvanceWidths(
3594 _Out_writes_(c
) POINTQF
*pptqD
);
3600 NtGdiEngComputeGlyphSet(
3602 _In_ INT nFirstChar
,
3609 NtGdiXLATEOBJ_iXlate(
3610 _In_ XLATEOBJ
*pxlo
,
3617 NtGdiXLATEOBJ_hGetColorTransform(
3618 _In_ XLATEOBJ
*pxlo
);
3624 NtGdiPATHOBJ_vGetBounds(
3626 _Out_ PRECTFX prectfx
);
3634 _Out_ PATHDATA
*ppd
);
3640 NtGdiPATHOBJ_vEnumStart(
3654 NtGdiPATHOBJ_vEnumStartClipLines(
3658 _In_ LINEATTRS
*pla
);
3664 NtGdiPATHOBJ_bEnumClipLines(
3667 _Out_writes_bytes_(cb
) CLIPLINE
*pcl
);
3687 NtGdiHT_Get8BPPFormatPalette(
3688 _Out_opt_
_Post_count_(return) LPPALETTEENTRY pPaletteEntry
,
3689 _In_ USHORT RedGamma
,
3690 _In_ USHORT GreenGamma
,
3691 _In_ USHORT BlueGamma
);
3697 NtGdiHT_Get8BPPMaskPalette(
3698 _Out_opt_
_Post_count_(return) LPPALETTEENTRY pPaletteEntry
,
3699 _In_ BOOL Use8BPPMaskPal
,
3701 _In_ USHORT RedGamma
,
3702 _In_ USHORT GreenGamma
,
3703 _In_ USHORT BlueGamma
);
3709 NtGdiUpdateTransform(
3719 _In_ DWORD dwLayout
);
3725 NtGdiMirrorWindowOrg(
3732 NtGdiGetDeviceWidth(
3739 NtGdiSetUMPDSandboxState(
3740 _In_ BOOL bEnabled
);
3747 _In_opt_ HUMPD humpd
,
3749 _Inout_opt_ HUMPD
*phumpd
,
3750 _Out_opt_ BOOL
*pbWOW64
);
3756 NtGdiBRUSHOBJ_DeleteRbrush(
3757 _In_opt_ BRUSHOBJ
*pbo
,
3758 _In_opt_ BRUSHOBJ
*pboB
);
3764 NtGdiUMPDEngFreeUserMem(
3765 _In_ KERNEL_PVOID
*ppv
);
3771 NtGdiSetBitmapAttributes(
3773 _In_ DWORD dwFlags
);
3779 NtGdiClearBitmapAttributes(
3781 _In_ DWORD dwFlags
);
3787 NtGdiSetBrushAttributes(
3789 _In_ DWORD dwFlags
);
3795 NtGdiClearBrushAttributes(
3797 _In_ DWORD dwFlags
);
3806 _In_reads_bytes_(cjIn
) VOID
*pvIn
);
3812 NtGdiMakeObjectXferable(
3814 _In_ DWORD dwProcessId
);
3820 NtGdiMakeObjectUnXferable(
3823 #ifdef PRIVATE_DWM_INTERFACE
3828 NtGdiSfmRegisterLogicalSurfaceForSignaling(
3830 BOOL fSignalOnDirty
);
3835 NtGdiDwmGetHighColorMode(
3836 _Out_ DXGI_FORMAT
* pdxgiFormat
);
3841 NtGdiDwmSetHighColorMode(
3842 _In_ DXGI_FORMAT dxgiFormat
);
3847 NtGdiDwmCaptureScreen(
3848 _In_
const RECT
* prcCapture
,
3849 _In_ DXGI_FORMAT dxgiFormat
);
3855 NtGdiDdCreateFullscreenSprite(
3857 _In_ COLORREF crKey
,
3858 _Out_ HANDLE
* phSprite
,
3859 _Out_ HDC
* phdcSprite
);
3865 NtGdiDdNotifyFullscreenSpriteUpdate(
3867 _In_ HANDLE hSprite
);
3873 NtGdiDdDestroyFullscreenSprite(
3875 _In_ HANDLE hSprite
);
3881 NtGdiDdQueryVisRgnUniqueness(
3888 NtGdiHLSurfGetInformation(
3890 _In_ HLSURF_INFORMATION_CLASS InformationClass
,
3891 _In_reads_bytes_opt_(*pcjInfoBuffer
) PVOID pvInfoBuffer
,
3892 _Inout_ PULONG pcjInfoBuffer
);
3898 NtGdiHLSurfSetInformation(
3900 _In_ HLSURF_INFORMATION_CLASS InformationClass
,
3901 _In_reads_bytes_opt_(cjInfoBuffer
) PVOID pvInfoBuffer
,
3902 _In_ ULONG cjInfoBuffer
);
3908 NtGdiDwmCreatedBitmapRemotingOutput(
3915 NtGdiGetCurrentDpiInfo(
3917 _Out_ PVOID pvStruct
);
3919 #endif /* PRIVATE_DWM_INTERFACE */
3921 #endif /* _NTGDI_ */