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_(bInbound
!=0, _In_reads_bytes_(cEntries
*sizeof(PALETTEENTRY
)))
443 _When_(bInbound
==0, _Out_writes_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 NtGdiDdDDICreateDCFromMemory(
924 _Inout_ D3DKMT_CREATEDCFROMMEMORY
*desc
);
930 NtGdiDdDDIDestroyDCFromMemory(
931 _In_ CONST D3DKMT_DESTROYDCFROMMEMORY
*desc
);
937 NtGdiDvpCanCreateVideoPort(
938 _In_ HANDLE hDirectDraw
,
939 _Inout_ PDD_CANCREATEVPORTDATA puCanCreateVPortData
);
945 NtGdiDvpColorControl(
946 _In_ HANDLE hVideoPort
,
947 _Inout_ PDD_VPORTCOLORDATA puVPortColorData
);
953 NtGdiDvpCreateVideoPort(
954 _In_ HANDLE hDirectDraw
,
955 _Inout_ PDD_CREATEVPORTDATA puCreateVPortData
);
961 NtGdiDvpDestroyVideoPort(
962 _In_ HANDLE hVideoPort
,
963 _Inout_ PDD_DESTROYVPORTDATA puDestroyVPortData
);
969 NtGdiDvpFlipVideoPort(
970 _In_ HANDLE hVideoPort
,
971 _In_ HANDLE hDDSurfaceCurrent
,
972 _In_ HANDLE hDDSurfaceTarget
,
973 _Inout_ PDD_FLIPVPORTDATA puFlipVPortData
);
979 NtGdiDvpGetVideoPortBandwidth(
980 _In_ HANDLE hVideoPort
,
981 _Inout_ PDD_GETVPORTBANDWIDTHDATA puGetVPortBandwidthData
);
987 NtGdiDvpGetVideoPortField(
988 _In_ HANDLE hVideoPort
,
989 _Inout_ PDD_GETVPORTFIELDDATA puGetVPortFieldData
);
995 NtGdiDvpGetVideoPortFlipStatus(
996 _In_ HANDLE hDirectDraw
,
997 _Inout_ PDD_GETVPORTFLIPSTATUSDATA puGetVPortFlipStatusData
);
1003 NtGdiDvpGetVideoPortInputFormats(
1004 _In_ HANDLE hVideoPort
,
1005 _Inout_ PDD_GETVPORTINPUTFORMATDATA puGetVPortInputFormatData
);
1011 NtGdiDvpGetVideoPortLine(
1012 _In_ HANDLE hVideoPort
,
1013 _Inout_ PDD_GETVPORTLINEDATA puGetVPortLineData
);
1019 NtGdiDvpGetVideoPortOutputFormats(
1020 _In_ HANDLE hVideoPort
,
1021 _Inout_ PDD_GETVPORTOUTPUTFORMATDATA puGetVPortOutputFormatData
);
1027 NtGdiDvpGetVideoPortConnectInfo(
1028 _In_ HANDLE hDirectDraw
,
1029 _Inout_ PDD_GETVPORTCONNECTDATA puGetVPortConnectData
);
1035 NtGdiDvpGetVideoSignalStatus(
1036 _In_ HANDLE hVideoPort
,
1037 _Inout_ PDD_GETVPORTSIGNALDATA puGetVPortSignalData
);
1043 NtGdiDvpUpdateVideoPort(
1044 _In_ HANDLE hVideoPort
,
1045 _In_ HANDLE
* phSurfaceVideo
,
1046 _In_ HANDLE
* phSurfaceVbi
,
1047 _Inout_ PDD_UPDATEVPORTDATA puUpdateVPortData
);
1053 NtGdiDvpWaitForVideoPortSync(
1054 _In_ HANDLE hVideoPort
,
1055 _Inout_ PDD_WAITFORVPORTSYNCDATA puWaitForVPortSyncData
);
1061 NtGdiDvpAcquireNotification(
1062 _In_ HANDLE hVideoPort
,
1063 _Inout_ HANDLE
* hEvent
,
1064 _In_ LPDDVIDEOPORTNOTIFY pNotify
);
1070 NtGdiDvpReleaseNotification(
1071 _In_ HANDLE hVideoPort
,
1072 _In_ HANDLE hEvent
);
1078 NtGdiDdGetMoCompGuids(
1079 _In_ HANDLE hDirectDraw
,
1080 _Inout_ PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData
);
1086 NtGdiDdGetMoCompFormats(
1087 _In_ HANDLE hDirectDraw
,
1088 _Inout_ PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData
);
1094 NtGdiDdGetMoCompBuffInfo(
1095 _In_ HANDLE hDirectDraw
,
1096 _Inout_ PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData
);
1102 NtGdiDdGetInternalMoCompInfo(
1103 _In_ HANDLE hDirectDraw
,
1104 _Inout_ PDD_GETINTERNALMOCOMPDATA puGetInternalData
);
1110 NtGdiDdCreateMoComp(
1111 _In_ HANDLE hDirectDraw
,
1112 _Inout_ PDD_CREATEMOCOMPDATA puCreateMoCompData
);
1118 NtGdiDdDestroyMoComp(
1119 _In_ HANDLE hMoComp
,
1120 _Inout_ PDD_DESTROYMOCOMPDATA puDestroyMoCompData
);
1126 NtGdiDdBeginMoCompFrame(
1127 _In_ HANDLE hMoComp
,
1128 _Inout_ PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData
);
1134 NtGdiDdEndMoCompFrame(
1135 _In_ HANDLE hMoComp
,
1136 _Inout_ PDD_ENDMOCOMPFRAMEDATA puEndFrameData
);
1142 NtGdiDdRenderMoComp(
1143 _In_ HANDLE hMoComp
,
1144 _Inout_ PDD_RENDERMOCOMPDATA puRenderMoCompData
);
1150 NtGdiDdQueryMoCompStatus(
1151 _In_ HANDLE hMoComp
,
1152 _Inout_ PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData
);
1159 _In_ HANDLE hSurfaceDest
,
1160 _In_opt_ HANDLE hSurfaceSrc
,
1161 _Inout_ PDD_BLTDATA puBltData
);
1178 _In_ BLENDFUNCTION BlendFunction
,
1179 _In_ HANDLE hcmXform
);
1187 _In_ PTRIVERTEX pVertex
,
1199 _In_ ULONG nCommand
,
1206 NtGdiCreateColorSpace(
1207 _In_ PLOGCOLORSPACEEXW pLogColorSpace
);
1213 NtGdiDeleteColorSpace(
1214 _In_ HANDLE hColorSpace
);
1222 _In_ HCOLORSPACE hColorSpace
);
1228 NtGdiCreateColorTransform(
1230 _In_ LPLOGCOLORSPACEW pLogColorSpaceW
,
1231 _In_reads_bytes_opt_(cjSrcProfile
) PVOID pvSrcProfile
,
1232 _In_ ULONG cjSrcProfile
,
1233 _In_reads_bytes_opt_(cjDestProfile
) PVOID pvDestProfile
,
1234 _In_ ULONG cjDestProfile
,
1235 _In_reads_bytes_opt_(cjTargetProfile
) PVOID pvTargetProfile
,
1236 _In_ ULONG cjTargetProfile
);
1242 NtGdiDeleteColorTransform(
1244 _In_ HANDLE hColorTransform
);
1250 NtGdiCheckBitmapBits(
1252 _In_ HANDLE hColorTransform
,
1253 _In_reads_bytes_(dwStride
* dwHeight
) PVOID pvBits
,
1254 _In_ ULONG bmFormat
,
1256 _In_ DWORD dwHeight
,
1257 _In_ DWORD dwStride
,
1258 _Out_writes_bytes_(dwWidth
* dwHeight
) PBYTE paResults
);
1264 NtGdiColorCorrectPalette(
1267 _In_ ULONG uFirstEntry
,
1268 _In_ ULONG cPalEntries
,
1269 _Inout_updates_(cPalEntries
) PALETTEENTRY
*ppalEntry
,
1270 _In_ ULONG uCommand
);
1276 NtGdiGetColorSpaceforBitmap(
1277 _In_ HBITMAP hsurf
);
1279 _Success_(return!=FALSE
)
1284 NtGdiGetDeviceGammaRamp(
1286 _Out_writes_bytes_(sizeof(GAMMARAMP
)) LPVOID lpGammaRamp
);
1292 NtGdiSetDeviceGammaRamp(
1294 _In_reads_bytes_(sizeof(GAMMARAMP
)) LPVOID lpGammaRamp
);
1303 _Inout_updates_bytes_(sizeof(BITMAPINFO
) + ((/*MAX_COLORTABLE*/256 - 1) * sizeof(RGBQUAD
))) PBITMAPINFO pbmiDIB
,
1304 _Inout_updates_bytes_(*pulBits
) PVOID pvBits
,
1305 _Inout_ ULONG
*pulBits
,
1306 _Out_opt_ DWORD
*piUsage
,
1307 _Out_opt_ BOOL
*pbAlreadyTran
,
1308 _In_ ULONG Command
);
1321 NtGdiCreateMetafileDC(
1336 NtGdiCreateClientObj(
1343 NtGdiDeleteClientObj(
1353 _Out_writes_bytes_opt_(cjMax
) PBYTE pjOut
);
1359 NtGdiDeleteObjectApp(
1368 _Out_writes_opt_(cptBuf
) LPPOINT pptlBuf
,
1369 _Out_writes_opt_(cptBuf
) LPBYTE pjTypes
,
1376 NtGdiCreateCompatibleDC(
1383 NtGdiCreateDIBitmapInternal(
1388 _In_reads_bytes_opt_(cjMaxBits
) LPBYTE pjInit
,
1389 _In_reads_bytes_opt_(cjMaxInitInfo
) LPBITMAPINFO pbmi
,
1391 _In_ UINT cjMaxInitInfo
,
1392 _In_ UINT cjMaxBits
,
1394 _In_ HANDLE hcmXform
);
1400 NtGdiCreateDIBSection(
1402 _In_opt_ HANDLE hSectionApp
,
1403 _In_ DWORD dwOffset
,
1404 _In_reads_bytes_opt_(cjHeader
) LPBITMAPINFO pbmi
,
1408 _In_ ULONG_PTR dwColorSpace
,
1409 _Outptr_ PVOID
*ppvBits
);
1415 NtGdiCreateSolidBrush(
1417 _In_opt_ HBRUSH hbr
);
1423 NtGdiCreateDIBBrush(
1424 _In_reads_bytes_(cj
) PVOID pv
,
1429 _In_ PVOID pClient
);
1435 NtGdiCreatePatternBrushInternal(
1444 NtGdiCreateHatchBrushInternal(
1454 _In_ ULONG flPenStyle
,
1456 _In_ ULONG iBrushStyle
,
1458 _In_ ULONG_PTR lClientHatch
,
1459 _In_ ULONG_PTR lHatch
,
1461 _In_reads_opt_(cstyle
) PULONG pulStyle
,
1463 _In_ BOOL bOldStylePen
,
1464 _In_opt_ HBRUSH hbrush
);
1470 NtGdiCreateEllipticRgn(
1480 NtGdiCreateRoundRectRgn(
1492 NtGdiCreateServerMetaFile(
1495 _In_reads_bytes_(cjData
) LPBYTE pjData
,
1504 NtGdiExtCreateRegion(
1505 _In_opt_ LPXFORM px
,
1507 _In_reads_bytes_(cj
) LPRGNDATA prgndata
);
1515 _Out_writes_bytes_(cjFontDir
) PBYTE pjFontDir
,
1516 _In_ UINT cjFontDir
,
1517 _In_reads_bytes_(cjPathname
) LPWSTR pwszPathname
,
1518 _In_ UINT cjPathname
);
1526 _In_reads_(cpt
) LPPOINT ppt
,
1527 _In_reads_(cpt
) LPBYTE pjAttr
,
1536 _In_reads_(cStr
) POLYTEXTW
*pptw
,
1538 _In_ DWORD dwCodePage
);
1544 NtGdiGetServerMetaFileBits(
1547 _Out_writes_bytes_opt_(cjData
) LPBYTE pjData
,
1548 _Out_ PDWORD piType
,
1551 _Out_ PDWORD pyExt
);
1561 _Must_inspect_result_
1562 _Success_(return!=FALSE
)
1567 NtGdiGetBitmapDimension(
1569 _Out_ LPSIZE psize
);
1575 NtGdiGetNearestPaletteIndex(
1577 _In_ COLORREF crColor
);
1600 NtGdiRemoveFontResourceW(
1601 _In_reads_(cwc
) WCHAR
*pwszFiles
,
1605 _In_ DWORD dwPidTid
,
1606 _In_opt_ DESIGNVECTOR
*pdv
);
1620 NtGdiSetBitmapDimension(
1624 _In_opt_ LPSIZE psizeOut
);
1646 NtGdiSetTextJustification(
1648 _In_ INT lBreakExtra
,
1651 _Success_(return!=ERROR
)
1664 NtGdiGetTextExtentExW(
1666 _In_reads_opt_(cwc
) LPWSTR pwsz
,
1669 _Out_opt_ ULONG
*pcCh
,
1670 _Out_writes_to_opt_(cwc
, *pcCh
) PULONG pdxOut
,
1678 NtGdiGetCharABCWidthsW(
1682 _In_reads_opt_(cwch
) PWCHAR pwch
,
1684 _Out_writes_bytes_(cwch
* sizeof(ABC
)) PVOID pvBuf
);
1690 NtGdiGetCharacterPlacementW(
1692 _In_reads_z_(nCount
) LPWSTR pwsz
,
1694 _In_ INT nMaxExtent
,
1695 _Inout_ LPGCP_RESULTSW pgcpw
,
1696 _In_ DWORD dwFlags
);
1706 _In_ DWORD dwRadius
,
1707 _In_ DWORD dwStartAngle
,
1708 _In_ DWORD dwSweepAngle
);
1721 NtGdiSelectClipPath(
1757 NtGdiStrokeAndFillPath(
1795 _Inout_opt_ PDWORD pdwOut
);
1803 _In_ DWORD dwxScale
,
1804 _In_ DWORD dwyScale
);
1806 _Success_(return != FALSE
)
1813 _Out_ PDWORD pdwOut
);
1856 _In_reads_(3) LPPOINT pptlTrg
,
1862 _In_opt_ HBITMAP hbmMask
,
1865 _In_ DWORD crBackColor
);
1880 _In_opt_ HBITMAP hbmMask
,
1884 _In_ DWORD crBackColor
);
1894 _In_ COLORREF crColor
,
1895 _In_ UINT iFillType
);
1904 _In_ HBRUSH hbrush
);
1925 _In_ COLORREF crColor
);
1957 _Out_ BOOL
*pbBanding
,
1989 _In_reads_opt_(cwc
) PWCHAR pwc
,
1991 _Out_writes_bytes_(cwc
* sizeof(ULONG
)) PVOID pvBuf
);
1997 NtGdiGetCharWidthInfo(
1999 _Out_ PCHWIDTHINFO pChWidthInfo
);
2009 _In_reads_bytes_opt_(cjIn
) LPSTR pjIn
);
2017 _In_reads_opt_(cwcDriver
) PWCHAR pDriver
,
2021 _In_reads_bytes_opt_(cjIn
) LPSTR pjIn
,
2023 _Out_writes_bytes_opt_(cjOut
) LPSTR pjOut
);
2025 _Success_(return != GDI_ERROR
)
2033 _In_ DWORD dwOffset
,
2034 _Out_writes_bytes_to_opt_(cjBuf
, return) PVOID pvBuf
,
2041 NtGdiGetFontFileData(
2042 _In_ UINT uFileCollectionID
,
2043 _In_ UINT uFileIndex
,
2044 _In_ PULONGLONG pullFileOffset
,
2045 _Out_writes_bytes_(cjBuf
) PVOID pvBuf
,
2048 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
2053 NtGdiGetFontFileInfo(
2054 _In_ UINT uFileCollectionID
,
2055 _In_ UINT uFileIndex
,
2056 _Out_writes_bytes_(cjSize
) PFONT_FILE_INFO pffi
,
2058 _Out_opt_ PSIZE_T pcjActualSize
);
2059 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN7) */
2065 NtGdiGetGlyphOutline(
2069 _Out_ LPGLYPHMETRICS pgm
,
2071 _Out_writes_bytes_opt_(cjBuf
) PVOID pvBuf
,
2073 _In_ BOOL bIgnoreRotation
);
2081 _Out_opt_ EXTTEXTMETRIC
*petm
);
2087 NtGdiGetRasterizerCaps(
2088 _Out_writes_bytes_(cjBytes
) LPRASTERIZER_STATUS praststat
,
2089 _In_ ULONG cjBytes
);
2095 NtGdiGetKerningPairs(
2098 _Out_writes_to_opt_(cPairs
, return) KERNINGPAIR
*pkpDst
);
2111 NtGdiGetObjectBitmapHandle(
2113 _Out_ UINT
*piUsage
);
2121 _In_ INT iObjectType
,
2123 _Out_writes_bytes_opt_(cjBuf
) PVOID pvBuf
);
2131 _In_ LPDEVMODEW pdm
,
2132 _Out_ PBOOL pbBanding
,
2133 _In_opt_ DRIVER_INFO_2W
*pDriverInfo2
,
2134 _At_((PUMDHPDEV
*)ppUMdhpdev
, _Out_
) PVOID ppUMdhpdev
);
2149 NtGdiGetColorAdjustment(
2151 _Out_ PCOLORADJUSTMENT pcaOut
);
2157 NtGdiSetColorAdjustment(
2159 _In_ PCOLORADJUSTMENT pca
);
2173 _In_opt_ PUNICODE_STRING pustrDevice
,
2175 _In_ PUNICODE_STRING pustrLogAddr
,
2178 _In_opt_ HANDLE hspool
,
2179 _At_((PUMDHPDEV
*)pUMdhpdev
, _Out_
) PVOID pUMdhpdev
);
2188 _Out_ DWORD
*Result
);
2190 _Success_(return!=FALSE
)
2198 _Out_ PPOINTL pptOut
);
2204 NtGdiScaleViewportExtEx(
2210 _Out_opt_ LPSIZE pszOut
);
2216 NtGdiScaleWindowExtEx(
2222 _Out_opt_ LPSIZE pszOut
);
2228 NtGdiSetVirtualResolution(
2230 _In_ INT cxVirtualDevicePixel
,
2231 _In_ INT cyVirtualDevicePixel
,
2232 _In_ INT cxVirtualDeviceMm
,
2233 _In_ INT cyVirtualDeviceMm
);
2241 _In_ INT cxVirtualDevice
,
2242 _In_ INT cyVirtualDevice
);
2244 _Success_(return !=FALSE
)
2258 NtGdiModifyWorldTransform(
2260 _In_opt_ LPXFORM pxf
,
2267 NtGdiCombineTransform(
2268 _Out_ LPXFORM pxfDst
,
2269 _In_ LPXFORM pxfSrc1
,
2270 _In_ LPXFORM pxfSrc2
);
2276 NtGdiTransformPoints(
2278 _In_reads_(c
) PPOINT pptIn
,
2279 _Out_writes_(c
) PPOINT pptOut
,
2287 NtGdiConvertMetafileRect(
2289 _Inout_ PRECTL prect
);
2295 NtGdiGetTextCharsetInfo(
2297 _Out_opt_ LPFONTSIGNATURE lpSig
,
2298 _In_ DWORD dwFlags
);
2314 NtGdiGetPerBandInfo(
2316 _Inout_ PERBANDINFO
*ppbi
);
2323 _In_ HANDLE hProcess
,
2326 _Out_writes_bytes_(cjResultSize
) PVOID pResults
,
2327 _In_ UINT cjResultSize
);
2333 NtGdiSetMagicColors(
2335 _In_ PALETTEENTRY peMagic
,
2344 _In_ HBRUSH hbrush
);
2374 NtGdiExtSelectClipRgn(
2387 _In_opt_ HBRUSH hbr
);
2389 #ifdef _WINDOWBLT_NOTIFICATION_
2400 _In_opt_ HDC hdcSrc
,
2404 _In_ DWORD crBackColor
,
2417 _In_opt_ HDC hdcSrc
,
2421 _In_ DWORD crBackColor
);
2430 _In_ RECTL
*prectDst
,
2432 _In_ RECTL
*prectSrc
,
2433 _In_ POINTL
*pptlOrigin
,
2435 _In_ DWORD crBackColor
);
2441 NtGdiTransparentBlt(
2452 _In_ COLORREF TransColor
);
2460 _In_reads_(cwc
) LPWSTR lpwsz
,
2465 _Success_(return != FALSE
)
2470 NtGdiGetTextMetricsW(
2472 _Out_writes_bytes_(cj
) TMW_INTERNAL
*ptm
,
2482 _Out_writes_to_opt_(cChar
, return) LPWSTR pszOut
,
2483 _In_ BOOL bAliasName
);
2503 _In_opt_ LPRECT prcl
,
2504 _In_reads_opt_(cwc
) LPWSTR pwsz
,
2505 _In_range_(0, 0xffff) INT cwc
,
2506 _In_reads_opt_(_Inexpressible_(cwc
)) LPINT pdx
,
2507 _In_ DWORD dwCodePage
);
2513 NtGdiIntersectClipRect(
2549 _In_reads_(cPoly
) PPOLYPATBLT pPoly
,
2557 NtGdiUnrealizeObject(
2564 NtGdiGetStockObject(
2571 NtGdiCreateCompatibleBitmap(
2580 NtGdiCreateBitmapFromDxSurface(
2585 _In_opt_ HANDLE hDxSharedSurface
);
2591 NtGdiCreateBitmapFromDxSurface2(
2596 _In_ DWORD SubresourceIndex
,
2597 _In_ BOOL bSharedSurfaceNtHandle
,
2598 _In_opt_ HANDLE hDxSharedSurface
);
2604 NtGdiBeginGdiRendering(
2607 _In_ PVOID KernelModeDeviceHandle
);
2613 NtGdiEndGdiRendering(
2616 _Out_ BOOL
* pbDeviceRemoved
,
2617 _In_ PVOID KernelModeDeviceHandle
);
2628 _Success_(return != FALSE
)
2637 _Out_opt_ LPPOINT pptOut
);
2639 _Success_(return != 0)
2647 _Out_writes_bytes_opt_(cj
) LPVOID pvOut
);
2657 _Success_(return!=FALSE
)
2662 NtGdiGetDeviceCapsAll (
2664 _Out_ PDEVCAPS pDevCaps
);
2676 _In_opt_ HDC hdcSrc
,
2682 _In_ DWORD dwBackColor
);
2684 _Success_(return!=FALSE
)
2693 _Out_opt_ LPPOINT pptOut
);
2704 _In_opt_ LPBYTE pjInit
);
2710 NtGdiCreateHalftonePalette(
2725 NtGdiExcludeClipRect(
2746 _In_opt_ HRGN hrgnSrc2
,
2767 _In_reads_bytes_(cj
) PBYTE pjInit
);
2769 _Success_(return!=0)
2774 NtGdiGetDIBitsInternal(
2777 _In_ UINT iStartScan
,
2779 _Out_writes_bytes_opt_(cjMaxBits
) LPBYTE pjBits
,
2780 _Inout_ LPBITMAPINFO pbmi
,
2782 _In_ UINT cjMaxBits
,
2783 _In_ UINT cjMaxInfo
);
2794 _Success_(return!=ERROR
)
2801 _Out_ LPRECT prcOut
);
2809 _Inout_ LPRECT prcl
);
2811 _Success_(return!=0)
2834 NtGdiGetNearestColor(
2842 NtGdiGetSystemPaletteUse(
2849 NtGdiSetSystemPaletteUse(
2853 _Success_(return!=0)
2860 _In_ ULONG cjBuffer
,
2861 _Out_writes_bytes_to_opt_(cjBuffer
, return) LPRGNDATA lpRgnData
);
2875 NtGdiAddFontResourceW(
2876 _In_reads_(cwc
) WCHAR
*pwszFiles
,
2880 _In_ DWORD dwPidTid
,
2881 _In_opt_ DESIGNVECTOR
*pdv
);
2888 _In_reads_bytes_(cjElfw
) ENUMLOGFONTEXDVW
*pelfw
,
2892 _In_ PVOID pvCliData
);
2898 NtGdiSetFontEnumeration(
2907 _In_ ULONG iEnumType
,
2908 _In_ FLONG flWin31Compat
,
2909 _In_ ULONG cchFaceName
,
2910 _In_reads_opt_(cchFaceName
) LPCWSTR pwszFaceName
,
2911 _In_ ULONG lfCharSet
,
2912 _Inout_ ULONG
*pulCount
,
2913 _Out_writes_bytes_opt_(*pulCount
) PVOID pvUserModeBuffer
);
2920 _In_ ULONG_PTR idEnum
);
2928 _In_ ULONG_PTR idEnum
,
2930 _Out_ ULONG
*pcjEfdw
,
2931 _Out_ PENUMFONTDATAW pefdw
);
2939 _In_ ULONG iEnumType
,
2940 _In_ FLONG flWin31Compat
,
2942 _In_opt_ LPWSTR pwszFaceName
,
2943 _In_ ULONG lfCharSet
,
2944 _Out_ ULONG
*pulCount
);
2951 _Out_writes_(nBufferSize
) PUNIVERSAL_FONT_ID pufiFontList
,
2952 _In_ ULONG nBufferSize
,
2953 _Out_ PLARGE_INTEGER pTimeStamp
);
2959 NtGdiConsoleTextOut(
2961 _In_ POLYTEXTW
*lpto
,
2963 _In_ RECTL
*prclBounds
);
2969 NtGdiFullscreenControl(
2970 _In_ FULLSCREENCONTROL FullscreenCommand
,
2971 _In_ PVOID FullscreenInput
,
2972 _In_ DWORD FullscreenInputLength
,
2973 _Out_ PVOID FullscreenOutput
,
2974 _Inout_ PULONG FullscreenOutputLength
);
2994 NtGdiEudcLoadUnloadLink(
2995 _In_reads_opt_(cwcBaseFaceName
) LPCWSTR pBaseFaceName
,
2996 _In_ UINT cwcBaseFaceName
,
2997 _In_reads_(cwcEudcFontPath
) LPCWSTR pEudcFontPath
,
2998 _In_ UINT cwcEudcFontPath
,
3000 _In_ INT iFontLinkType
,
3001 _In_ BOOL bLoadLin
);
3007 NtGdiGetStringBitmapW(
3011 _Out_writes_bytes_(cj
) BYTE
*lpSB
,
3018 NtGdiGetEudcTimeStampEx(
3019 _In_reads_opt_(cwcBaseFaceName
) LPWSTR lpBaseFaceName
,
3020 _In_ ULONG cwcBaseFaceName
,
3021 _In_ BOOL bSystemTimeStamp
);
3027 NtGdiQueryFontAssocInfo(
3034 NtGdiGetFontUnicodeRanges(
3036 _Out_
_Post_bytecount_(return) LPGLYPHSET pgs
);
3039 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
3043 NtGdiGetRealizationInfo(
3045 _Out_ PFONT_REALIZATION_INFO pri
);
3051 NtGdiGetRealizationInfo(
3053 _Out_ PREALIZATION_INFO pri
,
3062 NtGdiAddRemoteMMInstanceToDC(
3064 _In_reads_bytes_(cjDDV
) DOWNLOADDESIGNVECTOR
*pddv
,
3071 NtGdiUnloadPrinterDriver(
3072 _In_reads_bytes_(cbDriverName
) LPWSTR pDriverName
,
3073 _In_ ULONG cbDriverName
);
3086 NtGdiGetSpoolMessage(
3096 NtGdiEngAssociateSurface(
3099 _In_ FLONG flHooks
);
3105 NtGdiEngEraseSurface(
3114 NtGdiEngCreateBitmap(
3119 _In_opt_ PVOID pvBits
);
3125 NtGdiEngDeleteSurface(
3132 NtGdiEngLockSurface(
3139 NtGdiEngUnlockSurface(
3146 NtGdiEngMarkBandingSurface(
3153 NtGdiEngCreateDeviceSurface(
3156 _In_ ULONG iFormatCompat
);
3162 NtGdiEngCreateDeviceBitmap(
3165 _In_ ULONG iFormatCompat
);
3172 _In_ SURFOBJ
*psoDst
,
3173 _In_ SURFOBJ
*psoSrc
,
3174 _In_opt_ CLIPOBJ
*pco
,
3175 _In_opt_ XLATEOBJ
*pxlo
,
3176 _In_ RECTL
*prclDst
,
3177 _In_ POINTL
*pptlSrc
);
3184 _In_ SURFOBJ
*psoDest
,
3185 _In_ SURFOBJ
*psoSrc
,
3186 _In_opt_ SURFOBJ
*psoMask
,
3187 _In_opt_ CLIPOBJ
*pco
,
3188 _In_opt_ XLATEOBJ
*pxlo
,
3189 _In_opt_ COLORADJUSTMENT
*pca
,
3190 _In_ POINTL
*pptlHTOrg
,
3191 _In_ RECTL
*prclDest
,
3192 _In_ RECTL
*prclSrc
,
3193 _In_opt_ POINTL
*pptlMask
,
3201 _In_ SURFOBJ
*psoTrg
,
3202 _In_opt_ SURFOBJ
*psoSrc
,
3203 _In_opt_ SURFOBJ
*psoMask
,
3204 _In_opt_ CLIPOBJ
*pco
,
3205 _In_opt_ XLATEOBJ
*pxlo
,
3206 _In_ RECTL
*prclTrg
,
3207 _In_opt_ POINTL
*pptlSrc
,
3208 _In_opt_ POINTL
*pptlMask
,
3209 _In_opt_ BRUSHOBJ
*pbo
,
3210 _In_opt_ POINTL
*pptlBrush
,
3218 _In_ SURFOBJ
*psoTrg
,
3219 _In_ SURFOBJ
*psoSrc
,
3220 _In_opt_ SURFOBJ
*psoMsk
,
3222 _In_opt_ XLATEOBJ
*pxlo
,
3223 _In_ COLORADJUSTMENT
*pca
,
3224 _In_ POINTL
*pptlBrushOrg
,
3225 _In_ POINTFIX
*pptfx
,
3227 _In_opt_ POINTL
*pptl
,
3234 NtGdiEngCreatePalette(
3237 _In_ ULONG
*pulColors
,
3246 NtGdiEngDeletePalette(
3247 _In_ HPALETTE hPal
);
3259 _In_ POINTL
*pptlBrushOrg
,
3260 _In_ LINEATTRS
*plineattrs
,
3272 _In_ POINTL
*pptlBrushOrg
,
3274 _In_ FLONG flOptions
);
3280 NtGdiEngStrokeAndFillPath(
3283 _In_ CLIPOBJ
*pco
,IN XFORMOBJ
*pxo
,
3284 _In_ BRUSHOBJ
*pboStroke
,
3285 _In_ LINEATTRS
*plineattrs
,
3286 _In_ BRUSHOBJ
*pboFill
,
3287 _In_ POINTL
*pptlBrushOrg
,
3289 _In_ FLONG flOptions
);
3299 _In_ POINTL
*pptlBrushOrg
,
3314 _In_ RECTL
*prclBounds
,
3322 _In_ SURFOBJ
*psoDest
,
3323 _In_ SURFOBJ
*psoSrc
,
3325 _In_ XLATEOBJ
*pxlo
,
3326 _In_ RECTL
*prclDest
,
3327 _In_ RECTL
*prclSrc
,
3328 _In_ BLENDOBJ
*pBlendObj
);
3334 NtGdiEngGradientFill(
3335 _In_ SURFOBJ
*psoDest
,
3337 _In_ XLATEOBJ
*pxlo
,
3338 _In_reads_(nVertex
) TRIVERTEX
*pVertex
,
3340 _In_
/* _In_reads_(nMesh) */ PVOID pMesh
,
3342 _In_ RECTL
*prclExtents
,
3343 _In_ POINTL
*pptlDitherOrg
,
3350 NtGdiEngTransparentBlt(
3351 _In_ SURFOBJ
*psoDst
,
3352 _In_ SURFOBJ
*psoSrc
,
3354 _In_ XLATEOBJ
*pxlo
,
3355 _In_ RECTL
*prclDst
,
3356 _In_ RECTL
*prclSrc
,
3357 _In_ ULONG iTransColor
,
3358 _In_ ULONG ulReserved
);
3369 _In_ RECTL
*prclExtra
,
3370 _In_ RECTL
*prclOpaque
,
3371 _In_ BRUSHOBJ
*pboFore
,
3372 _In_ BRUSHOBJ
*pboOpaque
,
3373 _In_ POINTL
*pptlOrg
,
3380 NtGdiEngStretchBltROP(
3381 _In_ SURFOBJ
*psoTrg
,
3382 _In_ SURFOBJ
*psoSrc
,
3383 _In_ SURFOBJ
*psoMask
,
3385 _In_ XLATEOBJ
*pxlo
,
3386 _In_ COLORADJUSTMENT
*pca
,
3387 _In_ POINTL
*pptlBrushOrg
,
3388 _In_ RECTL
*prclTrg
,
3389 _In_ RECTL
*prclSrc
,
3390 _In_ POINTL
*pptlMask
,
3399 NtGdiXLATEOBJ_cGetPalette(
3400 _In_ XLATEOBJ
*pxlo
,
3403 _Out_writes_(cPal
) ULONG
*pPal
);
3409 NtGdiCLIPOBJ_cEnumStart(
3413 _In_ ULONG iDirection
,
3423 _Out_writes_bytes_(cj
) ULONG
*pul
);
3429 NtGdiCLIPOBJ_ppoGetPath(
3450 NtGdiBRUSHOBJ_pvAllocRbrush(
3458 NtGdiBRUSHOBJ_pvGetRbrush(
3459 _In_ BRUSHOBJ
*pbo
);
3465 NtGdiBRUSHOBJ_ulGetBrushColor(
3466 _In_ BRUSHOBJ
*pbo
);
3472 NtGdiBRUSHOBJ_hGetColorTransform(
3473 _In_ BRUSHOBJ
*pbo
);
3479 NtGdiXFORMOBJ_bApplyXform(
3483 _In_reads_(cPoints
) PPOINTL pptIn
,
3484 _Out_writes_(cPoints
) PPOINTL pptOut
);
3490 NtGdiXFORMOBJ_iGetXform(
3492 _Out_opt_ XFORML
*pxform
);
3498 NtGdiFONTOBJ_vGetInfo(
3501 _Out_writes_bytes_(cjSize
) FONTINFO
*pfi
);
3507 NtGdiFONTOBJ_cGetGlyphs(
3512 _At_((GLYPHDATA
**)ppvGlyph
, _Outptr_
) PVOID
*ppvGlyph
);
3518 NtGdiFONTOBJ_pxoGetXform(
3539 NtGdiFONTOBJ_cGetAllGlyphHandles(
3541 _Out_opt_
_Post_count_(return) HGLYPH
*phg
);
3547 NtGdiFONTOBJ_pvTrueTypeFontFile(
3549 _Out_ ULONG
*pcjFile
);
3555 NtGdiFONTOBJ_pQueryGlyphAttrs(
3566 _Outptr_result_buffer_(*pc
) PGLYPHPOS
*ppgpos
);
3572 NtGdiSTROBJ_bEnumPositionsOnly(
3575 _Outptr_result_buffer_(*pc
) PGLYPHPOS
*ppgpos
);
3581 NtGdiSTROBJ_vEnumStart(
3582 _Inout_ STROBJ
*pstro
);
3588 NtGdiSTROBJ_dwGetCodePage(
3589 _In_ STROBJ
*pstro
);
3595 NtGdiSTROBJ_bGetAdvanceWidths(
3599 _Out_writes_(c
) POINTQF
*pptqD
);
3605 NtGdiEngComputeGlyphSet(
3607 _In_ INT nFirstChar
,
3614 NtGdiXLATEOBJ_iXlate(
3615 _In_ XLATEOBJ
*pxlo
,
3622 NtGdiXLATEOBJ_hGetColorTransform(
3623 _In_ XLATEOBJ
*pxlo
);
3629 NtGdiPATHOBJ_vGetBounds(
3631 _Out_ PRECTFX prectfx
);
3639 _Out_ PATHDATA
*ppd
);
3645 NtGdiPATHOBJ_vEnumStart(
3659 NtGdiPATHOBJ_vEnumStartClipLines(
3663 _In_ LINEATTRS
*pla
);
3669 NtGdiPATHOBJ_bEnumClipLines(
3672 _Out_writes_bytes_(cb
) CLIPLINE
*pcl
);
3692 NtGdiHT_Get8BPPFormatPalette(
3693 _Out_opt_
_Post_count_(return) LPPALETTEENTRY pPaletteEntry
,
3694 _In_ USHORT RedGamma
,
3695 _In_ USHORT GreenGamma
,
3696 _In_ USHORT BlueGamma
);
3702 NtGdiHT_Get8BPPMaskPalette(
3703 _Out_opt_
_Post_count_(return) LPPALETTEENTRY pPaletteEntry
,
3704 _In_ BOOL Use8BPPMaskPal
,
3706 _In_ USHORT RedGamma
,
3707 _In_ USHORT GreenGamma
,
3708 _In_ USHORT BlueGamma
);
3714 NtGdiUpdateTransform(
3724 _In_ DWORD dwLayout
);
3730 NtGdiMirrorWindowOrg(
3737 NtGdiGetDeviceWidth(
3744 NtGdiSetUMPDSandboxState(
3745 _In_ BOOL bEnabled
);
3752 _In_opt_ HUMPD humpd
,
3754 _Inout_opt_ HUMPD
*phumpd
,
3755 _Out_opt_ BOOL
*pbWOW64
);
3761 NtGdiBRUSHOBJ_DeleteRbrush(
3762 _In_opt_ BRUSHOBJ
*pbo
,
3763 _In_opt_ BRUSHOBJ
*pboB
);
3769 NtGdiUMPDEngFreeUserMem(
3770 _In_ KERNEL_PVOID
*ppv
);
3776 NtGdiSetBitmapAttributes(
3778 _In_ DWORD dwFlags
);
3784 NtGdiClearBitmapAttributes(
3786 _In_ DWORD dwFlags
);
3792 NtGdiSetBrushAttributes(
3794 _In_ DWORD dwFlags
);
3800 NtGdiClearBrushAttributes(
3802 _In_ DWORD dwFlags
);
3811 _In_reads_bytes_(cjIn
) VOID
*pvIn
);
3817 NtGdiMakeObjectXferable(
3819 _In_ DWORD dwProcessId
);
3825 NtGdiMakeObjectUnXferable(
3828 #ifdef PRIVATE_DWM_INTERFACE
3833 NtGdiSfmRegisterLogicalSurfaceForSignaling(
3835 BOOL fSignalOnDirty
);
3840 NtGdiDwmGetHighColorMode(
3841 _Out_ DXGI_FORMAT
* pdxgiFormat
);
3846 NtGdiDwmSetHighColorMode(
3847 _In_ DXGI_FORMAT dxgiFormat
);
3852 NtGdiDwmCaptureScreen(
3853 _In_
const RECT
* prcCapture
,
3854 _In_ DXGI_FORMAT dxgiFormat
);
3860 NtGdiDdCreateFullscreenSprite(
3862 _In_ COLORREF crKey
,
3863 _Out_ HANDLE
* phSprite
,
3864 _Out_ HDC
* phdcSprite
);
3870 NtGdiDdNotifyFullscreenSpriteUpdate(
3872 _In_ HANDLE hSprite
);
3878 NtGdiDdDestroyFullscreenSprite(
3880 _In_ HANDLE hSprite
);
3886 NtGdiDdQueryVisRgnUniqueness(
3893 NtGdiHLSurfGetInformation(
3895 _In_ HLSURF_INFORMATION_CLASS InformationClass
,
3896 _In_reads_bytes_opt_(*pcjInfoBuffer
) PVOID pvInfoBuffer
,
3897 _Inout_ PULONG pcjInfoBuffer
);
3903 NtGdiHLSurfSetInformation(
3905 _In_ HLSURF_INFORMATION_CLASS InformationClass
,
3906 _In_reads_bytes_opt_(cjInfoBuffer
) PVOID pvInfoBuffer
,
3907 _In_ ULONG cjInfoBuffer
);
3913 NtGdiDwmCreatedBitmapRemotingOutput(
3920 NtGdiGetCurrentDpiInfo(
3922 _Out_ PVOID pvStruct
);
3924 #endif /* PRIVATE_DWM_INTERFACE */
3926 #endif /* _NTGDI_ */