mirror of https://github.com/UMSKT/xpmgr.git
3014 lines
64 KiB
C
3014 lines
64 KiB
C
/******************************Module*Header*******************************\
|
|
* Module Name: ntgdi.h
|
|
*
|
|
* Structures defining kernel-mode entry points for GDI.
|
|
*
|
|
* Copyright (c) 1994-1999 Microsoft Corporation
|
|
\**************************************************************************/
|
|
|
|
#ifndef W32KAPI
|
|
#define W32KAPI DECLSPEC_ADDRSAFE
|
|
#endif
|
|
|
|
typedef struct _HLSURF_INFORMATION_PROBE {
|
|
union {
|
|
HLSURF_INFORMATION_SURFACE Surface;
|
|
HLSURF_INFORMATION_PRESENTFLAGS PresentFlags;
|
|
HLSURF_INFORMATION_TOKENUPDATEID UpdateId;
|
|
HLSURF_INFORMATION_SET_SIGNALING SetSignaling;
|
|
DWMSURFACEDATA SurfaceData;
|
|
HLSURF_INFORMATION_DIRTYREGIONS DirtyRegions;
|
|
HLSURF_INFORMATION_REDIRSTYLE RedirStyle;
|
|
} u;
|
|
} HLSURF_INFORMATION_PROBE, *PHLSURF_INFORMATION_PROBE;
|
|
|
|
|
|
// A few GDI API's fill buffers but have no input parameter saying how big
|
|
// the buffers are. The idiom is that you call it once with a NULL buffer
|
|
// pointer to find out how big the buffer should be, allocate that much,
|
|
// then call again. This sounds like a job for __out_bcount_opt(size), but
|
|
// this annotation requires (size) to be known beforehand (i.e. it is a
|
|
// precondition). The best we can do is to specify the size as a
|
|
// postcondition.
|
|
|
|
#define __out_post_bcount_opt(size) __post __valid __refparam __post __byte_writableTo(size) __exceptthat __maybenull
|
|
#define __out_post_ecount_opt(size) __post __valid __refparam __post __elem_writableTo(size) __exceptthat __maybenull
|
|
|
|
// Trace creation of all GDI SURFACE objects
|
|
#define TRACE_SURFACE_ALLOCS (DBG || 0)
|
|
|
|
// enable directX API to change surface pointer
|
|
#ifdef COMBOX_SANDBOX
|
|
#define DX_LONGHORN_PRESERVEDC
|
|
#endif
|
|
|
|
// PRIVATE
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiInit(
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiSetDIBitsToDeviceInternal(
|
|
__in HDC hdcDest,
|
|
__in int xDst,
|
|
__in int yDst,
|
|
__in DWORD cx,
|
|
__in DWORD cy,
|
|
__in int xSrc,
|
|
__in int ySrc,
|
|
__in DWORD iStartScan,
|
|
__in DWORD cNumScan,
|
|
__in_bcount(cjMaxBits) LPBYTE pInitBits,
|
|
__in LPBITMAPINFO pbmi,
|
|
__in DWORD iUsage,
|
|
__in UINT cjMaxBits,
|
|
__in UINT cjMaxInfo,
|
|
__in BOOL bTransformCoordinates,
|
|
__in_opt HANDLE hcmXform
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetFontResourceInfoInternalW(
|
|
__in_ecount(cwc) LPWSTR pwszFiles,
|
|
__in ULONG cwc,
|
|
__in ULONG cFiles,
|
|
__in UINT cjIn,
|
|
__out LPDWORD pdwBytes,
|
|
__out_bcount(cjIn) LPVOID pvBuf,
|
|
__in DWORD iType
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiGetGlyphIndicesW(
|
|
__in HDC hdc,
|
|
__in_ecount_opt(cwc) LPWSTR pwc,
|
|
__in int cwc,
|
|
__out_opt LPWORD pgi,
|
|
__in DWORD iMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiGetGlyphIndicesWInternal(
|
|
__in HDC hdc,
|
|
__in_ecount_opt(cwc) LPWSTR pwc,
|
|
__in int cwc,
|
|
__out_opt LPWORD pgi,
|
|
__in DWORD iMode,
|
|
__in BOOL bSubset
|
|
);
|
|
|
|
//
|
|
// pLogPal is annotated as __in_bcount(cEntries * 4 + 4) because the
|
|
// current SAL doesn't support sizeof operator. The size of related buffer is
|
|
// sizeof(LOGPALETTE) - sizeof(PALETTEENTRY) + sizeof(PALETTEENTRY) * cEntries.
|
|
//
|
|
|
|
__kernel_entry W32KAPI HPALETTE APIENTRY
|
|
NtGdiCreatePaletteInternal(
|
|
__in_bcount(cEntries * 4 + 4) LPLOGPALETTE pLogPal,
|
|
__in UINT cEntries
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiArcInternal(
|
|
__in ARCTYPE arctype,
|
|
__in HDC hdc,
|
|
__in int x1,
|
|
__in int y1,
|
|
__in int x2,
|
|
__in int y2,
|
|
__in int x3,
|
|
__in int y3,
|
|
__in int x4,
|
|
__in int y4
|
|
);
|
|
|
|
__kernel_entry W32KAPI int
|
|
APIENTRY
|
|
NtGdiStretchDIBitsInternal(
|
|
__in HDC hdc,
|
|
__in int xDst,
|
|
__in int yDst,
|
|
__in int cxDst,
|
|
__in int cyDst,
|
|
__in int xSrc,
|
|
__in int ySrc,
|
|
__in int cxSrc,
|
|
__in int cySrc,
|
|
__in_bcount_opt(cjMaxBits) LPBYTE pjInit,
|
|
__in LPBITMAPINFO pbmi,
|
|
__in DWORD dwUsage,
|
|
__in DWORD dwRop4,
|
|
__in UINT cjMaxInfo,
|
|
__in UINT cjMaxBits,
|
|
__in HANDLE hcmXform
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiGetOutlineTextMetricsInternalW(
|
|
__in HDC hdc,
|
|
__in ULONG cjotm,
|
|
__out_bcount_opt(cjotm) OUTLINETEXTMETRICW *potmw,
|
|
__out TMDIFF *ptmd
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetAndSetDCDword(
|
|
__in HDC hdc,
|
|
__in UINT u,
|
|
__in DWORD dwIn,
|
|
__out DWORD *pdwResult
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiGetDCObject(
|
|
__in HDC hdc,
|
|
__in int itype
|
|
);
|
|
|
|
__kernel_entry W32KAPI HDC APIENTRY
|
|
NtGdiGetDCforBitmap(
|
|
__in HBITMAP hsurf
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetMonitorID(
|
|
__in HDC hdc,
|
|
__in DWORD dwSize,
|
|
__out_bcount(dwSize) LPWSTR pszMonitorID
|
|
);
|
|
|
|
// flags returned from GetUFI and passed to GetUFIBits
|
|
#define FL_UFI_PRIVATEFONT 1
|
|
#define FL_UFI_DESIGNVECTOR_PFF 2
|
|
#define FL_UFI_MEMORYFONT 4
|
|
|
|
__kernel_entry W32KAPI INT APIENTRY
|
|
NtGdiGetLinkedUFIs(
|
|
__in HDC hdc,
|
|
__out_ecount_opt(BufferSize) PUNIVERSAL_FONT_ID pufiLinkedUFIs,
|
|
__in INT BufferSize
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetLinkedUFIs(
|
|
__in HDC hdc,
|
|
__in_ecount(uNumUFIs) PUNIVERSAL_FONT_ID pufiLinks,
|
|
__in ULONG uNumUFIs
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetUFI(
|
|
__in HDC hdc,
|
|
__out PUNIVERSAL_FONT_ID pufi,
|
|
__out_opt DESIGNVECTOR *pdv,
|
|
__out ULONG *pcjDV,
|
|
__out ULONG *pulBaseCheckSum,
|
|
__out FLONG *pfl
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiForceUFIMapping(
|
|
__in HDC hdc,
|
|
__in PUNIVERSAL_FONT_ID pufi
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetUFIPathname(
|
|
__in PUNIVERSAL_FONT_ID pufi,
|
|
__deref_out_range(0, MAX_PATH * 3) ULONG* pcwc,
|
|
__out_ecount_part_opt(MAX_PATH * 3, *pcwc) LPWSTR pwszPathname,
|
|
__out_opt ULONG* pcNumFiles,
|
|
__in FLONG fl,
|
|
__out_opt BOOL *pbMemFont,
|
|
__out_opt ULONG *pcjView,
|
|
__out_opt PVOID pvView,
|
|
__out_opt BOOL *pbTTC,
|
|
__out_opt ULONG *piTTC
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiAddRemoteFontToDC(
|
|
__in HDC hdc,
|
|
__in_bcount(cjBuffer) PVOID pvBuffer,
|
|
__in ULONG cjBuffer,
|
|
__in_opt PUNIVERSAL_FONT_ID pufi
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiAddFontMemResourceEx(
|
|
__in_bcount(cjBuffer) PVOID pvBuffer,
|
|
__in DWORD cjBuffer,
|
|
__in_bcount_opt(cjDV) DESIGNVECTOR *pdv,
|
|
__in ULONG cjDV,
|
|
__out DWORD *pNumFonts
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiRemoveFontMemResourceEx(
|
|
__in HANDLE hMMFont
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiUnmapMemFont(
|
|
__in PVOID pvView
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiRemoveMergeFont(
|
|
__in HDC hdc,
|
|
__in UNIVERSAL_FONT_ID *pufi
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiAnyLinkedFonts();
|
|
|
|
// local printing with embedded fonts
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetEmbUFI(
|
|
__in HDC hdc,
|
|
__out PUNIVERSAL_FONT_ID pufi,
|
|
__out_opt DESIGNVECTOR *pdv,
|
|
__out ULONG *pcjDV,
|
|
__out ULONG *pulBaseCheckSum,
|
|
__out FLONG *pfl,
|
|
__out KERNEL_PVOID *embFontID
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiGetEmbedFonts(
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiChangeGhostFont(
|
|
__in KERNEL_PVOID *pfontID,
|
|
__in BOOL bLoad
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiAddEmbFontToDC(
|
|
__in HDC hdc,
|
|
__in VOID **pFontID
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiFontIsLinked(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG_PTR APIENTRY
|
|
NtGdiPolyPolyDraw(
|
|
__in HDC hdc,
|
|
__in PPOINT ppt,
|
|
__in_ecount(ccpt) PULONG pcpt,
|
|
__in ULONG ccpt,
|
|
__in int iFunc
|
|
);
|
|
|
|
__kernel_entry W32KAPI LONG APIENTRY
|
|
NtGdiDoPalette(
|
|
__in HPALETTE hpal,
|
|
__in WORD iStart,
|
|
__in WORD cEntries,
|
|
__in_ecount_opt(cEntries) PALETTEENTRY *pPalEntries,
|
|
__in DWORD iFunc,
|
|
__in BOOL bInbound
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiComputeXformCoefficients(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetWidthTable(
|
|
__in HDC hdc,
|
|
__in ULONG cSpecial,
|
|
__in_ecount(cwc) WCHAR *pwc,
|
|
__in ULONG cwc,
|
|
__out_ecount(cwc) USHORT *psWidth,
|
|
__out_opt WIDTHDATA *pwd,
|
|
__out FLONG *pflInfo
|
|
);
|
|
|
|
__kernel_entry W32KAPI __success(return > 0) int APIENTRY
|
|
NtGdiDescribePixelFormat(
|
|
__in HDC hdc,
|
|
__in int ipfd,
|
|
__in UINT cjpfd,
|
|
__out_bcount(cjpfd) PPIXELFORMATDESCRIPTOR ppfd
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetPixelFormat(
|
|
__in HDC hdc,
|
|
__in int ipfd
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSwapBuffers(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDxgGenericThunk(
|
|
__in ULONG_PTR ulIndex,
|
|
__in ULONG_PTR ulHandle,
|
|
__inout SIZE_T *pdwSizeOfPtr1,
|
|
__inout PVOID pvPtr1,
|
|
__inout SIZE_T *pdwSizeOfPtr2,
|
|
__inout PVOID pvPtr2
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdAddAttachedSurface(
|
|
__in HANDLE hSurface,
|
|
__in HANDLE hSurfaceAttached,
|
|
__inout PDD_ADDATTACHEDSURFACEDATA puAddAttachedSurfaceData
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDdAttachSurface(
|
|
__in HANDLE hSurfaceFrom,
|
|
__in HANDLE hSurfaceTo
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdBlt(
|
|
__in HANDLE hSurfaceDest,
|
|
__in HANDLE hSurfaceSrc,
|
|
__inout PDD_BLTDATA puBltData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdCanCreateSurface(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdColorControl(
|
|
__in HANDLE hSurface,
|
|
__inout PDD_COLORCONTROLDATA puColorControlData
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiDdCreateDirectDrawObject(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdCreateSurface(
|
|
__in HANDLE hDirectDraw,
|
|
__in HANDLE* hSurface,
|
|
__inout DDSURFACEDESC* puSurfaceDescription,
|
|
__inout DD_SURFACE_GLOBAL* puSurfaceGlobalData,
|
|
__inout DD_SURFACE_LOCAL* puSurfaceLocalData,
|
|
__inout DD_SURFACE_MORE* puSurfaceMoreData,
|
|
__inout DD_CREATESURFACEDATA* puCreateSurfaceData,
|
|
__out HANDLE* puhSurface
|
|
);
|
|
|
|
#ifdef DX_LONGHORN_PRESERVEDC
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdChangeSurfacePointer(
|
|
__in HANDLE hSurface,
|
|
__in PVOID pSurfacePointer
|
|
);
|
|
|
|
#endif // DX_LONGHORN_PRESERVEDC
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiDdCreateSurfaceObject(
|
|
__in HANDLE hDirectDrawLocal,
|
|
__in HANDLE hSurface,
|
|
__in PDD_SURFACE_LOCAL puSurfaceLocal,
|
|
__in PDD_SURFACE_MORE puSurfaceMore,
|
|
__in PDD_SURFACE_GLOBAL puSurfaceGlobal,
|
|
__in BOOL bComplete
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDdDeleteSurfaceObject(
|
|
__in HANDLE hSurface
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDdDeleteDirectDrawObject(
|
|
__in HANDLE hDirectDrawLocal
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdDestroySurface(
|
|
__in HANDLE hSurface,
|
|
__in BOOL bRealDestroy
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdFlip(
|
|
__in HANDLE hSurfaceCurrent,
|
|
__in HANDLE hSurfaceTarget,
|
|
__in HANDLE hSurfaceCurrentLeft,
|
|
__in HANDLE hSurfaceTargetLeft,
|
|
__inout PDD_FLIPDATA puFlipData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetAvailDriverMemory(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetBltStatus(
|
|
__in HANDLE hSurface,
|
|
__inout PDD_GETBLTSTATUSDATA puGetBltStatusData
|
|
);
|
|
|
|
__kernel_entry W32KAPI HDC APIENTRY
|
|
NtGdiDdGetDC(
|
|
__in HANDLE hSurface,
|
|
__in PALETTEENTRY* puColorTable
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetDriverInfo(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETDRIVERINFODATA puGetDriverInfoData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetFlipStatus(
|
|
__in HANDLE hSurface,
|
|
__inout PDD_GETFLIPSTATUSDATA puGetFlipStatusData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetScanLine(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETSCANLINEDATA puGetScanLineData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdSetExclusiveMode(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdFlipToGDISurface(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdLock(
|
|
__in HANDLE hSurface,
|
|
__inout PDD_LOCKDATA puLockData,
|
|
__in HDC hdcClip
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDdQueryDirectDrawObject(
|
|
__in HANDLE hDirectDrawLocal,
|
|
__out PDD_HALINFO pHalInfo,
|
|
__out_ecount(3) DWORD* pCallBackFlags,
|
|
__out_opt LPD3DNTHAL_CALLBACKS puD3dCallbacks,
|
|
__out_opt LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
|
|
__out_opt PDD_D3DBUFCALLBACKS puD3dBufferCallbacks,
|
|
__out_opt LPDDSURFACEDESC puD3dTextureFormats,
|
|
__out DWORD* puNumHeaps,
|
|
__out_opt VIDEOMEMORY* puvmList,
|
|
__out DWORD* puNumFourCC,
|
|
__out_opt DWORD* puFourCC
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDdReenableDirectDrawObject(
|
|
__in HANDLE hDirectDrawLocal,
|
|
__inout BOOL* pubNewMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDdReleaseDC(
|
|
__in HANDLE hSurface
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDdResetVisrgn(
|
|
__in HANDLE hSurface,
|
|
__in HWND hwnd
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdSetColorKey(
|
|
__in HANDLE hSurface,
|
|
__inout PDD_SETCOLORKEYDATA puSetColorKeyData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdSetOverlayPosition(
|
|
__in HANDLE hSurfaceSource,
|
|
__in HANDLE hSurfaceDestination,
|
|
__inout PDD_SETOVERLAYPOSITIONDATA puSetOverlayPositionData
|
|
);
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiDdUnattachSurface(
|
|
__in HANDLE hSurface,
|
|
__in HANDLE hSurfaceAttached
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdUnlock(
|
|
__in HANDLE hSurface,
|
|
__inout PDD_UNLOCKDATA puUnlockData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdUpdateOverlay(
|
|
__in HANDLE hSurfaceDestination,
|
|
__in HANDLE hSurfaceSource,
|
|
__inout PDD_UPDATEOVERLAYDATA puUpdateOverlayData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdWaitForVerticalBlank(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiDdGetDxHandle(
|
|
__in_opt HANDLE hDirectDraw,
|
|
__in_opt HANDLE hSurface,
|
|
__in BOOL bRelease
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDdSetGammaRamp(
|
|
__in HANDLE hDirectDraw,
|
|
__in HDC hdc,
|
|
__in_bcount(256*3*2) LPVOID lpGammaRamp
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdLockD3D(
|
|
__in HANDLE hSurface,
|
|
__inout PDD_LOCKDATA puLockData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdUnlockD3D(
|
|
__in HANDLE hSurface,
|
|
__inout PDD_UNLOCKDATA puUnlockData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdCreateD3DBuffer(
|
|
__in HANDLE hDirectDraw,
|
|
__inout HANDLE* hSurface,
|
|
__inout DDSURFACEDESC* puSurfaceDescription,
|
|
__inout DD_SURFACE_GLOBAL* puSurfaceGlobalData,
|
|
__inout DD_SURFACE_LOCAL* puSurfaceLocalData,
|
|
__inout DD_SURFACE_MORE* puSurfaceMoreData,
|
|
__inout DD_CREATESURFACEDATA* puCreateSurfaceData,
|
|
__inout HANDLE* puhSurface
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdCanCreateD3DBuffer(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdDestroyD3DBuffer(
|
|
__in HANDLE hSurface
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiD3dContextCreate(
|
|
__in HANDLE hDirectDrawLocal,
|
|
__in HANDLE hSurfColor,
|
|
__in HANDLE hSurfZ,
|
|
__inout D3DNTHAL_CONTEXTCREATEI *pdcci
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiD3dContextDestroy(
|
|
__in LPD3DNTHAL_CONTEXTDESTROYDATA
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiD3dContextDestroyAll(
|
|
__out LPD3DNTHAL_CONTEXTDESTROYALLDATA pdcdad
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiD3dValidateTextureStageState(
|
|
__inout LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiD3dDrawPrimitives2(
|
|
__in HANDLE hCmdBuf,
|
|
__in HANDLE hVBuf,
|
|
__inout LPD3DNTHAL_DRAWPRIMITIVES2DATA pded,
|
|
__inout FLATPTR* pfpVidMemCmd,
|
|
__inout DWORD* pdwSizeCmd,
|
|
__inout FLATPTR* pfpVidMemVtx,
|
|
__inout DWORD* pdwSizeVtx
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetDriverState(
|
|
__inout PDD_GETDRIVERSTATEDATA pdata
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdCreateSurfaceEx(
|
|
__in HANDLE hDirectDraw,
|
|
__in HANDLE hSurface,
|
|
__in DWORD dwSurfaceHandle
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpCanCreateVideoPort(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_CANCREATEVPORTDATA puCanCreateVPortData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpColorControl(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_VPORTCOLORDATA puVPortColorData
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiDvpCreateVideoPort(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_CREATEVPORTDATA puCreateVPortData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpDestroyVideoPort(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_DESTROYVPORTDATA puDestroyVPortData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpFlipVideoPort(
|
|
__in HANDLE hVideoPort,
|
|
__in HANDLE hDDSurfaceCurrent,
|
|
__in HANDLE hDDSurfaceTarget,
|
|
__inout PDD_FLIPVPORTDATA puFlipVPortData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpGetVideoPortBandwidth(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_GETVPORTBANDWIDTHDATA puGetVPortBandwidthData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpGetVideoPortField(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_GETVPORTFIELDDATA puGetVPortFieldData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpGetVideoPortFlipStatus(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETVPORTFLIPSTATUSDATA puGetVPortFlipStatusData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpGetVideoPortInputFormats(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_GETVPORTINPUTFORMATDATA puGetVPortInputFormatData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpGetVideoPortLine(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_GETVPORTLINEDATA puGetVPortLineData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpGetVideoPortOutputFormats(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_GETVPORTOUTPUTFORMATDATA puGetVPortOutputFormatData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpGetVideoPortConnectInfo(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETVPORTCONNECTDATA puGetVPortConnectData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpGetVideoSignalStatus(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_GETVPORTSIGNALDATA puGetVPortSignalData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpUpdateVideoPort(
|
|
__in HANDLE hVideoPort,
|
|
__in HANDLE* phSurfaceVideo,
|
|
__in HANDLE* phSurfaceVbi,
|
|
__inout PDD_UPDATEVPORTDATA puUpdateVPortData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpWaitForVideoPortSync(
|
|
__in HANDLE hVideoPort,
|
|
__inout PDD_WAITFORVPORTSYNCDATA puWaitForVPortSyncData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpAcquireNotification(
|
|
__in HANDLE hVideoPort,
|
|
__inout HANDLE* hEvent,
|
|
__in LPDDVIDEOPORTNOTIFY pNotify
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDvpReleaseNotification(
|
|
__in HANDLE hVideoPort,
|
|
__in HANDLE hEvent
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetMoCompGuids(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetMoCompFormats(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetMoCompBuffInfo(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdGetInternalMoCompInfo(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_GETINTERNALMOCOMPDATA puGetInternalData
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiDdCreateMoComp(
|
|
__in HANDLE hDirectDraw,
|
|
__inout PDD_CREATEMOCOMPDATA puCreateMoCompData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdDestroyMoComp(
|
|
__in HANDLE hMoComp,
|
|
__inout PDD_DESTROYMOCOMPDATA puDestroyMoCompData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdBeginMoCompFrame(
|
|
__in HANDLE hMoComp,
|
|
__inout PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdEndMoCompFrame(
|
|
__in HANDLE hMoComp,
|
|
__inout PDD_ENDMOCOMPFRAMEDATA puEndFrameData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdRenderMoComp(
|
|
__in HANDLE hMoComp,
|
|
__inout PDD_RENDERMOCOMPDATA puRenderMoCompData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdQueryMoCompStatus(
|
|
__in HANDLE hMoComp,
|
|
__inout PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiDdAlphaBlt(
|
|
__in HANDLE hSurfaceDest,
|
|
__in_opt HANDLE hSurfaceSrc,
|
|
__inout PDD_BLTDATA puBltData
|
|
);
|
|
|
|
|
|
// Image32
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiAlphaBlend(
|
|
__in HDC hdcDst,
|
|
__in LONG DstX,
|
|
__in LONG DstY,
|
|
__in LONG DstCx,
|
|
__in LONG DstCy,
|
|
__in HDC hdcSrc,
|
|
__in LONG SrcX,
|
|
__in LONG SrcY,
|
|
__in LONG SrcCx,
|
|
__in LONG SrcCy,
|
|
__in BLENDFUNCTION BlendFunction,
|
|
__in HANDLE hcmXform
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGradientFill(
|
|
__in HDC hdc,
|
|
__in_ecount(nVertex) PTRIVERTEX pVertex,
|
|
__in ULONG nVertex,
|
|
__in PVOID pMesh,
|
|
__in ULONG nMesh,
|
|
__in ULONG ulMode
|
|
);
|
|
|
|
|
|
// icm (Image Color Matching)
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetIcmMode(
|
|
__in HDC hdc,
|
|
__in ULONG nCommand,
|
|
__in ULONG ulMode
|
|
);
|
|
|
|
|
|
#define ICM_SET_MODE 1
|
|
#define ICM_SET_CALIBRATE_MODE 2
|
|
#define ICM_SET_COLOR_MODE 3
|
|
#define ICM_CHECK_COLOR_MODE 4
|
|
|
|
typedef struct _LOGCOLORSPACEEXW
|
|
{
|
|
LOGCOLORSPACEW lcsColorSpace;
|
|
DWORD dwFlags;
|
|
} LOGCOLORSPACEEXW, *PLOGCOLORSPACEEXW;
|
|
|
|
#define LCSEX_ANSICREATED 0x0001 // Created by CreateColorSpaceA()
|
|
#define LCSEX_TEMPPROFILE 0x0002 // Color profile is temporary file
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiCreateColorSpace(
|
|
__in PLOGCOLORSPACEEXW pLogColorSpace
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDeleteColorSpace(
|
|
__in HANDLE hColorSpace
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetColorSpace(
|
|
__in HDC hdc,
|
|
__in HCOLORSPACE hColorSpace
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiCreateColorTransform(
|
|
__in HDC hdc,
|
|
__in LPLOGCOLORSPACEW pLogColorSpaceW,
|
|
__in_bcount_opt(cjSrcProfile) PVOID pvSrcProfile,
|
|
__in ULONG cjSrcProfile,
|
|
__in_bcount_opt(cjDestProfile) PVOID pvDestProfile,
|
|
__in ULONG cjDestProfile,
|
|
__in_bcount_opt(cjTargetProfile) PVOID pvTargetProfile,
|
|
__in ULONG cjTargetProfile
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDeleteColorTransform(
|
|
__in HDC hdc,
|
|
__in HANDLE hColorTransform
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiCheckBitmapBits(
|
|
__in HDC hdc,
|
|
__in HANDLE hColorTransform,
|
|
__in PVOID pvBits,
|
|
__in ULONG bmFormat,
|
|
__in DWORD dwWidth,
|
|
__in DWORD dwHeight,
|
|
__in DWORD dwStride,
|
|
__out_bcount(dwWidth * dwHeight) PBYTE paResults
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiColorCorrectPalette(
|
|
__in HDC hdc,
|
|
__in HPALETTE hpal,
|
|
__in ULONG FirstEntry,
|
|
__in ULONG NumberOfEntries,
|
|
__inout_ecount(NumberOfEntries) PALETTEENTRY *ppalEntry,
|
|
__in ULONG Command
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG_PTR APIENTRY
|
|
NtGdiGetColorSpaceforBitmap(
|
|
__in HBITMAP hsurf
|
|
);
|
|
|
|
typedef enum _COLORPALETTEINFO
|
|
{
|
|
ColorPaletteQuery,
|
|
ColorPaletteSet
|
|
} COLORPALETTEINFO, *PCOLORPALETTEINFO;
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetDeviceGammaRamp(
|
|
__in HDC hdc,
|
|
__out_bcount(256*2*3) LPVOID lpGammaRamp
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetDeviceGammaRamp(
|
|
__in HDC hdc,
|
|
__in_bcount(256*2*3) LPVOID lpGammaRamp
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiIcmBrushInfo(
|
|
__in HDC hdc,
|
|
__in HBRUSH hbrush,
|
|
__inout_bcount(sizeof(BITMAPINFO) + ((/*MAX_COLORTABLE*/256 - 1) * sizeof(RGBQUAD))) PBITMAPINFO pbmiDIB,
|
|
__inout_bcount(*pulBits) PVOID pvBits,
|
|
__inout ULONG *pulBits,
|
|
__out_opt DWORD *piUsage,
|
|
__out_opt BOOL *pbAlreadyTran,
|
|
__in ULONG Command
|
|
);
|
|
|
|
|
|
typedef enum _ICM_DIB_INFO_CMD
|
|
{
|
|
IcmQueryBrush,
|
|
IcmSetBrush
|
|
} ICM_DIB_INFO, *PICM_DIB_INFO;
|
|
|
|
// PUBLIC
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiFlush();
|
|
|
|
__kernel_entry W32KAPI HDC APIENTRY
|
|
NtGdiCreateMetafileDC(
|
|
__in HDC hdc
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiMakeInfoDC(
|
|
__in HDC hdc,
|
|
__in BOOL bSet
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiCreateClientObj(
|
|
__in ULONG ulType
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDeleteClientObj(
|
|
__in HANDLE h
|
|
);
|
|
|
|
__kernel_entry W32KAPI LONG APIENTRY
|
|
NtGdiGetBitmapBits(
|
|
__in HBITMAP hbm,
|
|
__in ULONG cjMax,
|
|
__out_bcount_opt(cjMax) PBYTE pjOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDeleteObjectApp(
|
|
__in HANDLE hobj
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiGetPath(
|
|
__in HDC hdc,
|
|
__out_ecount_opt(cptBuf) LPPOINT pptlBuf,
|
|
__out_ecount_opt(cptBuf) LPBYTE pjTypes,
|
|
__in int cptBuf
|
|
);
|
|
|
|
__kernel_entry W32KAPI HDC APIENTRY
|
|
NtGdiCreateCompatibleDC(
|
|
__in_opt HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiCreateDIBitmapInternal(
|
|
__in HDC hdc,
|
|
__in INT cx,
|
|
__in INT cy,
|
|
__in DWORD fInit,
|
|
__in_bcount_opt(cjMaxBits) LPBYTE pjInit,
|
|
__in_bcount_opt(cjMaxInitInfo) LPBITMAPINFO pbmi,
|
|
__in DWORD iUsage,
|
|
__in UINT cjMaxInitInfo,
|
|
__in UINT cjMaxBits,
|
|
__in FLONG f,
|
|
__in HANDLE hcmXform
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiCreateDIBSection(
|
|
__in_opt HDC hdc,
|
|
__in_opt HANDLE hSectionApp,
|
|
__in DWORD dwOffset,
|
|
__in_bcount_opt(cjHeader) LPBITMAPINFO pbmi,
|
|
__in DWORD iUsage,
|
|
__in UINT cjHeader,
|
|
__in FLONG fl,
|
|
__in ULONG_PTR dwColorSpace,
|
|
__deref_out PVOID *ppvBits
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBRUSH APIENTRY
|
|
NtGdiCreateSolidBrush(
|
|
__in COLORREF cr,
|
|
__in_opt HBRUSH hbr
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBRUSH APIENTRY
|
|
NtGdiCreateDIBBrush(
|
|
__in_bcount(cj) PVOID pv,
|
|
__in FLONG fl,
|
|
__in UINT cj,
|
|
__in BOOL b8X8,
|
|
__in BOOL bPen,
|
|
__in PVOID pClient
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBRUSH APIENTRY
|
|
NtGdiCreatePatternBrushInternal(
|
|
__in HBITMAP hbm,
|
|
__in BOOL bPen,
|
|
__in BOOL b8X8
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBRUSH APIENTRY
|
|
NtGdiCreateHatchBrushInternal(
|
|
__in ULONG ulStyle,
|
|
__in COLORREF clrr,
|
|
__in BOOL bPen
|
|
);
|
|
|
|
__kernel_entry W32KAPI HPEN APIENTRY
|
|
NtGdiExtCreatePen(
|
|
__in ULONG flPenStyle,
|
|
__in ULONG ulWidth,
|
|
__in ULONG iBrushStyle,
|
|
__in ULONG ulColor,
|
|
__in ULONG_PTR lClientHatch,
|
|
__in ULONG_PTR lHatch,
|
|
__in ULONG cstyle,
|
|
__in_ecount_opt(cstyle) PULONG pulStyle,
|
|
__in ULONG cjDIB,
|
|
__in BOOL bOldStylePen,
|
|
__in_opt HBRUSH hbrush
|
|
);
|
|
|
|
__kernel_entry W32KAPI HRGN APIENTRY
|
|
NtGdiCreateEllipticRgn(
|
|
__in int xLeft,
|
|
__in int yTop,
|
|
__in int xRight,
|
|
__in int yBottom
|
|
);
|
|
|
|
__kernel_entry W32KAPI HRGN APIENTRY
|
|
NtGdiCreateRoundRectRgn(
|
|
__in int xLeft,
|
|
__in int yTop,
|
|
__in int xRight,
|
|
__in int yBottom,
|
|
__in int xWidth,
|
|
__in int yHeight
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiCreateServerMetaFile(
|
|
__in DWORD iType,
|
|
__in ULONG cjData,
|
|
__in_bcount(cjData) LPBYTE pjData,
|
|
__in DWORD mm,
|
|
__in DWORD xExt,
|
|
__in DWORD yExt
|
|
);
|
|
|
|
__kernel_entry W32KAPI HRGN APIENTRY
|
|
NtGdiExtCreateRegion(
|
|
__in_opt LPXFORM px,
|
|
__in DWORD cj,
|
|
__in_bcount(cj) LPRGNDATA prgn
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiMakeFontDir(
|
|
__in FLONG flEmbed,
|
|
__out_bcount(cjFontDir) PBYTE pjFontDir,
|
|
__in unsigned cjFontDir,
|
|
__in_bcount(cjPathname) LPWSTR pwszPathname,
|
|
__in unsigned cjPathname
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPolyDraw(
|
|
__in HDC hdc,
|
|
__in_ecount(cpt) LPPOINT ppt,
|
|
__in_ecount(cpt) LPBYTE pjAttr,
|
|
__in ULONG cpt
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPolyTextOutW(
|
|
__in HDC hdc,
|
|
__in_ecount(cStr) POLYTEXTW *pptw,
|
|
__in UINT cStr,
|
|
__in DWORD dwCodePage
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiGetServerMetaFileBits(
|
|
__in HANDLE hmo,
|
|
__in ULONG cjData,
|
|
__out_bcount_opt(cjData) LPBYTE pjData,
|
|
__out PDWORD piType,
|
|
__out PDWORD pmm,
|
|
__out PDWORD pxExt,
|
|
__out PDWORD pyExt
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEqualRgn(
|
|
__in HRGN hrgn1,
|
|
__in HRGN hrgn2
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetBitmapDimension(
|
|
__in HBITMAP hbm,
|
|
__out LPSIZE psize
|
|
);
|
|
|
|
__kernel_entry W32KAPI UINT APIENTRY
|
|
NtGdiGetNearestPaletteIndex(
|
|
__in HPALETTE hpal,
|
|
__in COLORREF crColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPtVisible(
|
|
__in HDC hdc,
|
|
__in int x,
|
|
__in int y
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiRectVisible(
|
|
__in HDC hdc,
|
|
__in LPRECT prc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiRemoveFontResourceW(
|
|
__in_ecount(cwc) WCHAR *pwszFiles,
|
|
__in ULONG cwc,
|
|
__in ULONG cFiles,
|
|
__in ULONG fl,
|
|
__in DWORD dwPidTid,
|
|
__in_opt DESIGNVECTOR *pdv
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiResizePalette(
|
|
__in HPALETTE hpal,
|
|
__in UINT cEntry
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetBitmapDimension(
|
|
__in HBITMAP hbm,
|
|
__in int cx,
|
|
__in int cy,
|
|
__out_opt LPSIZE psizeOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiOffsetClipRgn(
|
|
__in HDC hdc,
|
|
__in int x,
|
|
__in int y
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiSetMetaRgn(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetTextJustification(
|
|
__in HDC hdc,
|
|
__in int lBreakExtra,
|
|
__in int cBreak
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiGetAppClipBox(
|
|
__in HDC hdc,
|
|
__out LPRECT prc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetTextExtentExW(
|
|
__in HDC hdc,
|
|
__in_ecount_opt(cwc) LPWSTR lpwsz,
|
|
__in ULONG cwc,
|
|
__in ULONG dxMax,
|
|
__out_opt ULONG *pcCh, // range(0, cwc)
|
|
__out_ecount_part_opt(cwc, *pcCh) PULONG pdxOut,
|
|
__out LPSIZE psize,
|
|
__in FLONG fl
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetCharABCWidthsW(
|
|
__in HDC hdc,
|
|
__in UINT wchFirst,
|
|
__in ULONG cwch,
|
|
__in_ecount_opt(cwch) PWCHAR pwch,
|
|
__in FLONG fl,
|
|
__out_bcount(cwch * sizeof(ABC)) __typefix(ABC *) PVOID pvBuf
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiGetCharacterPlacementW(
|
|
__in HDC hdc,
|
|
__in_ecount(nCount) LPWSTR pwsz,
|
|
__in int nCount,
|
|
__in int nMaxExtent,
|
|
__inout LPGCP_RESULTSW pgcpw,
|
|
__in DWORD dwFlags
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiAngleArc(
|
|
__in HDC hdc,
|
|
__in int x,
|
|
__in int y,
|
|
__in DWORD dwRadius,
|
|
__in DWORD dwStartAngle,
|
|
__in DWORD dwSweepAngle
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiBeginPath(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSelectClipPath(
|
|
__in HDC hdc,
|
|
__in int iMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiCloseFigure(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEndPath(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiAbortPath(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiFillPath(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiStrokeAndFillPath(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiStrokePath(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiWidenPath(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiFlattenPath(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI HRGN APIENTRY
|
|
NtGdiPathToRegion(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetMiterLimit(
|
|
__in HDC hdc,
|
|
__in DWORD dwNew,
|
|
__inout_opt PDWORD pdwOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetFontXform(
|
|
__in HDC hdc,
|
|
__in DWORD dwxScale,
|
|
__in DWORD dwyScale
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetMiterLimit(
|
|
__in HDC hdc,
|
|
__out PDWORD pdwOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEllipse(
|
|
__in HDC hdc,
|
|
__in int xLeft,
|
|
__in int yTop,
|
|
__in int xRight,
|
|
__in int yBottom
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiRectangle(
|
|
__in HDC hdc,
|
|
__in int xLeft,
|
|
__in int yTop,
|
|
__in int xRight,
|
|
__in int yBottom
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiRoundRect(
|
|
__in HDC hdc,
|
|
__in int x1,
|
|
__in int y1,
|
|
__in int x2,
|
|
__in int y2,
|
|
__in int x3,
|
|
__in int y3
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPlgBlt(
|
|
__in HDC hdcTrg,
|
|
__in_ecount(3) LPPOINT pptlTrg,
|
|
__in HDC hdcSrc,
|
|
__in int xSrc,
|
|
__in int ySrc,
|
|
__in int cxSrc,
|
|
__in int cySrc,
|
|
__in_opt HBITMAP hbmMask,
|
|
__in int xMask,
|
|
__in int yMask,
|
|
__in DWORD crBackColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiMaskBlt(
|
|
__in HDC hdc,
|
|
__in int xDst,
|
|
__in int yDst,
|
|
__in int cx,
|
|
__in int cy,
|
|
__in HDC hdcSrc,
|
|
__in int xSrc,
|
|
__in int ySrc,
|
|
__in HBITMAP hbmMask,
|
|
__in int xMask,
|
|
__in int yMask,
|
|
__in DWORD dwRop4,
|
|
__in DWORD crBackColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiExtFloodFill(
|
|
__in HDC hdc,
|
|
__in INT x,
|
|
__in INT y,
|
|
__in COLORREF crColor,
|
|
__in UINT iFillType
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiFillRgn(
|
|
__in HDC hdc,
|
|
__in HRGN hrgn,
|
|
__in HBRUSH hbrush
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiFrameRgn(
|
|
__in HDC hdc,
|
|
__in HRGN hrgn,
|
|
__in HBRUSH hbrush,
|
|
__in int xWidth,
|
|
__in int yHeight
|
|
);
|
|
|
|
__kernel_entry W32KAPI COLORREF APIENTRY
|
|
NtGdiSetPixel(
|
|
__in HDC hdcDst,
|
|
__in int x,
|
|
__in int y,
|
|
__in COLORREF crColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiGetPixel(
|
|
__in HDC hdc,
|
|
__in int x,
|
|
__in int y
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiStartPage(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEndPage(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiStartDoc(
|
|
__in HDC hdc,
|
|
__in DOCINFOW *pdi,
|
|
__out BOOL *pbBanding,
|
|
__in INT iJob
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEndDoc(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiAbortDoc(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiUpdateColors(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetCharWidthW(
|
|
__in HDC hdc,
|
|
__in UINT wcFirst,
|
|
__in UINT cwc,
|
|
__in_ecount_opt(cwc) PWCHAR pwc,
|
|
__in FLONG fl,
|
|
__out_bcount(cwc * sizeof(ULONG)) __typefix(PULONG) PVOID pvBuf
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetCharWidthInfo(
|
|
__in HDC hdc,
|
|
__out PCHWIDTHINFO pChWidthInfo
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiDrawEscape(
|
|
__in HDC hdc,
|
|
__in int iEsc,
|
|
__in int cjIn,
|
|
__in_bcount_opt(cjIn) LPSTR pjIn
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiExtEscape(
|
|
__in_opt HDC hdc,
|
|
__in_ecount_opt(nDriver) PWCHAR pDriver,
|
|
__in int nDriver,
|
|
__in int iEsc,
|
|
__in int cjIn,
|
|
__in_bcount_opt(cjIn) LPSTR pjIn,
|
|
__in int cjOut,
|
|
__out_bcount_opt(cjOut) LPSTR pjOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiGetFontData(
|
|
__in HDC hdc,
|
|
__in DWORD dwTable,
|
|
__in DWORD dwOffset,
|
|
__out_bcount_part_opt(cjBuf, return) PVOID pvBuf,
|
|
__in ULONG cjBuf
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiGetFontFileData(
|
|
__in UINT uFileCollectionID,
|
|
__in UINT uFileIndex,
|
|
__in ULONGLONG * pullFileOffset,
|
|
__out_bcount(cbSize) void * pBuffer,
|
|
__in SIZE_T cbSize
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiGetFontFileInfo(
|
|
__in UINT uFileCollectionID,
|
|
__in UINT uFileIndex,
|
|
__out_bcount(cbSize) FONT_FILE_INFO * pfi,
|
|
__in SIZE_T cbSize,
|
|
__out_opt SIZE_T * pcbActualSize
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiGetGlyphOutline(
|
|
__in HDC hdc,
|
|
__in WCHAR wch,
|
|
__in UINT iFormat,
|
|
__out LPGLYPHMETRICS pgm,
|
|
__in ULONG cjBuf,
|
|
__out_bcount_opt(cjBuf) PVOID pvBuf,
|
|
__in LPMAT2 pmat2,
|
|
__in BOOL bIgnoreRotation
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetETM(
|
|
__in HDC hdc,
|
|
__out_opt EXTTEXTMETRIC *petm
|
|
);
|
|
|
|
__kernel_entry W32KAPI __success(return == 1) BOOL APIENTRY
|
|
NtGdiGetRasterizerCaps(
|
|
__out_bcount(cjBytes) LPRASTERIZER_STATUS praststat,
|
|
__in ULONG cjBytes
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiGetKerningPairs(
|
|
__in HDC hdc,
|
|
__in ULONG cPairs,
|
|
__out_ecount_part_opt(cPairs, return) KERNINGPAIR *pkpDst
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiMonoBitmap(
|
|
__in HBITMAP hbm
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiGetObjectBitmapHandle(
|
|
__in HBRUSH hbr,
|
|
__out UINT *piUsage
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiEnumObjects(
|
|
__in HDC hdc,
|
|
__in int iObjectType,
|
|
__in ULONG cjBuf,
|
|
__out_bcount_opt(cjBuf) PVOID pvBuf
|
|
);
|
|
|
|
//
|
|
// NtGdiResetDC
|
|
//
|
|
// The actual size of the buffer at pdm is pdm->dmSize + pdm->dmDriverExtra.
|
|
// But this can not be specified with current annotation language.
|
|
//
|
|
|
|
typedef struct _DRIVER_INFO_2W DRIVER_INFO_2W;
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiResetDC(
|
|
__in HDC hdc,
|
|
__in LPDEVMODEW pdm,
|
|
__out PBOOL pbBanding,
|
|
__in_opt DRIVER_INFO_2W *pDriverInfo2,
|
|
__out __typefix(PUMDHPDEV *) VOID *ppUMdhpdev
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiSetBoundsRect(
|
|
__in HDC hdc,
|
|
__in LPRECT prc,
|
|
__in DWORD f
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetColorAdjustment(
|
|
__in HDC hdc,
|
|
__out PCOLORADJUSTMENT pcaOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetColorAdjustment(
|
|
__in HDC hdc,
|
|
__in PCOLORADJUSTMENT pca
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiCancelDC(
|
|
__in HDC hdc
|
|
);
|
|
|
|
//
|
|
// See comment on NtGdiResetDC
|
|
//
|
|
|
|
__kernel_entry W32KAPI HDC APIENTRY
|
|
NtGdiOpenDCW(
|
|
__in_opt PUNICODE_STRING pustrDevice,
|
|
__in DEVMODEW *pdm,
|
|
__in PUNICODE_STRING pustrLogAddr,
|
|
__in ULONG iType,
|
|
__in BOOL bDisplay,
|
|
__in_opt HANDLE hspool,
|
|
__in_opt DRIVER_INFO_2W *pDriverInfo2,
|
|
__out __typefix(PUMDHPDEV *) VOID *pUMdhpdev
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetDCDword(
|
|
__in HDC hdc,
|
|
__in UINT u,
|
|
__out DWORD *Result
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetDCPoint(
|
|
__in HDC hdc,
|
|
__in UINT iPoint,
|
|
__out PPOINTL pptOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiScaleViewportExtEx(
|
|
__in HDC hdc,
|
|
__in int xNum,
|
|
__in int xDenom,
|
|
__in int yNum,
|
|
__in int yDenom,
|
|
__out_opt LPSIZE pszOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiScaleWindowExtEx(
|
|
__in HDC hdc,
|
|
__in int xNum,
|
|
__in int xDenom,
|
|
__in int yNum,
|
|
__in int yDenom,
|
|
__out_opt LPSIZE pszOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetVirtualResolution(
|
|
__in HDC hdc,
|
|
__in int cxVirtualDevicePixel,
|
|
__in int cyVirtualDevicePixel,
|
|
__in int cxVirtualDeviceMm,
|
|
__in int cyVirtualDeviceMm
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetSizeDevice(
|
|
__in HDC hdc,
|
|
__in int cxVirtualDevice,
|
|
__in int cyVirtualDevice
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetTransform(
|
|
__in HDC hdc,
|
|
__in DWORD iXform,
|
|
__out LPXFORM pxf
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiModifyWorldTransform(
|
|
__in HDC hdc,
|
|
__in_opt LPXFORM pxf,
|
|
__in DWORD iXform
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiCombineTransform(
|
|
__out LPXFORM pxfDst,
|
|
__in LPXFORM pxfSrc1,
|
|
__in LPXFORM pxfSrc2
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiTransformPoints(
|
|
__in HDC hdc,
|
|
__in_ecount(c) PPOINT pptIn,
|
|
__out_ecount(c) PPOINT pptOut,
|
|
__in int c,
|
|
__in int iMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI LONG APIENTRY
|
|
NtGdiConvertMetafileRect(
|
|
__in HDC hdc,
|
|
__inout PRECTL prect
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiGetTextCharsetInfo(
|
|
__in HDC hdc,
|
|
__out_opt LPFONTSIGNATURE lpSig,
|
|
__in DWORD dwFlags
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDoBanding(
|
|
__in HDC hdc,
|
|
__in BOOL bStart,
|
|
__out POINTL *pptl,
|
|
__out PSIZE pSize
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiGetPerBandInfo(
|
|
__in HDC hdc,
|
|
__inout PERBANDINFO *ppbi
|
|
);
|
|
|
|
#define GS_NUM_OBJS_ALL 0
|
|
#define GS_HANDOBJ_CURRENT 1
|
|
#define GS_HANDOBJ_MAX 2
|
|
#define GS_HANDOBJ_ALLOC 3
|
|
#define GS_LOOKASIDE_INFO 4
|
|
|
|
__kernel_entry W32KAPI NTSTATUS APIENTRY
|
|
NtGdiGetStats(
|
|
__in HANDLE hProcess,
|
|
__in int iIndex,
|
|
__in int iPidType,
|
|
__out_bcount(cjResultSize) PVOID pResults,
|
|
__in UINT cjResultSize
|
|
);
|
|
|
|
//API's used by USER
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetMagicColors(
|
|
__in HDC hdc,
|
|
__in PALETTEENTRY peMagic,
|
|
__in ULONG Index
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBRUSH APIENTRY
|
|
NtGdiSelectBrush(
|
|
__in HDC hdc,
|
|
__in HBRUSH hbrush
|
|
);
|
|
|
|
__kernel_entry W32KAPI HPEN APIENTRY
|
|
NtGdiSelectPen(
|
|
__in HDC hdc,
|
|
__in HPEN hpen
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiSelectBitmap(
|
|
__in HDC hdc,
|
|
__in HBITMAP hbm
|
|
);
|
|
|
|
__kernel_entry W32KAPI HFONT APIENTRY
|
|
NtGdiSelectFont(
|
|
__in HDC hdc,
|
|
__in HFONT hf
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiExtSelectClipRgn(
|
|
__in HDC hdc,
|
|
__in_opt HRGN hrgn,
|
|
__in int iMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI HPEN APIENTRY
|
|
NtGdiCreatePen(
|
|
__in int iPenStyle,
|
|
__in int iPenWidth,
|
|
__in COLORREF cr,
|
|
__in_opt HBRUSH hbr
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiBitBlt(
|
|
__in HDC hdcDst,
|
|
__in int x,
|
|
__in int y,
|
|
__in int cx,
|
|
__in int cy,
|
|
__in_opt HDC hdcSrc,
|
|
__in int xSrc,
|
|
__in int ySrc,
|
|
__in DWORD rop4,
|
|
__in DWORD crBackColor,
|
|
__in FLONG fl
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiTileBitBlt(
|
|
__in HDC hdcDst,
|
|
__in RECTL * prectDst,
|
|
__in HDC hdcSrc,
|
|
__in RECTL * prectSrc,
|
|
__in POINTL * pptlOrigin,
|
|
__in DWORD rop4,
|
|
__in DWORD crBackColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiTransparentBlt(
|
|
__in HDC hdcDst,
|
|
__in int xDst,
|
|
__in int yDst,
|
|
__in int cxDst,
|
|
__in int cyDst,
|
|
__in HDC hdcSrc,
|
|
__in int xSrc,
|
|
__in int ySrc,
|
|
__in int cxSrc,
|
|
__in int cySrc,
|
|
__in COLORREF TransColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetTextExtent(
|
|
__in HDC hdc,
|
|
__in_ecount(cwc) LPWSTR lpwsz,
|
|
__in int cwc,
|
|
__out LPSIZE psize,
|
|
__in UINT flOpts
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetTextMetricsW(
|
|
__in HDC hdc,
|
|
__out_bcount(cj) TMW_INTERNAL * ptm,
|
|
__in ULONG cj
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiGetTextFaceW(
|
|
__in HDC hdc,
|
|
__in int cChar,
|
|
__out_ecount_part_opt(cChar, return) LPWSTR pszOut,
|
|
__in BOOL bAliasName
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiGetRandomRgn(
|
|
__in HDC hdc,
|
|
__in HRGN hrgn,
|
|
__in int iRgn
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiExtTextOutW(
|
|
__in HDC hdc,
|
|
__in int x,
|
|
__in int y,
|
|
__in UINT flOpts,
|
|
__in_opt LPRECT prcl,
|
|
__in_ecount_opt(cwc) LPWSTR pwsz,
|
|
__in_range(0, 0xffff) int cwc,
|
|
__in_xcount_opt(cwc) LPINT pdx,
|
|
__in DWORD dwCodePage
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiIntersectClipRect(
|
|
__in HDC hdc,
|
|
__in int xLeft,
|
|
__in int yTop,
|
|
__in int xRight,
|
|
__in int yBottom
|
|
);
|
|
|
|
__kernel_entry W32KAPI HRGN APIENTRY
|
|
NtGdiCreateRectRgn(
|
|
__in int xLeft,
|
|
__in int yTop,
|
|
__in int xRight,
|
|
__in int yBottom
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPatBlt(
|
|
__in HDC hdcDst,
|
|
__in int x,
|
|
__in int y,
|
|
__in int cx,
|
|
__in int cy,
|
|
__in DWORD rop4
|
|
);
|
|
|
|
typedef struct _POLYPATBLT POLYPATBLT,*PPOLYPATBLT;
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPolyPatBlt(
|
|
__in HDC hdc,
|
|
__in DWORD rop4,
|
|
__in_ecount(Count) PPOLYPATBLT pPoly,
|
|
__in DWORD Count,
|
|
__in DWORD Mode
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiUnrealizeObject(
|
|
__in HANDLE h
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiGetStockObject(
|
|
__in int iObject
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiCreateCompatibleBitmap(
|
|
__in HDC hdc,
|
|
__in int cx,
|
|
__in int cy
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiCreateBitmapFromDxSurface(
|
|
__in HDC hdc,
|
|
__in UINT uiWidth,
|
|
__in UINT uiHeight,
|
|
__in DWORD Format,
|
|
__in_opt HANDLE hDxSharedSurface
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiBeginGdiRendering(
|
|
__in HBITMAP hbm,
|
|
__in BOOL bDiscard
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEndGdiRendering(
|
|
__in HBITMAP hbm,
|
|
__in BOOL bDiscard,
|
|
__out BOOL* pbDeviceRemoved
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiLineTo(
|
|
__in HDC hdc,
|
|
__in int x,
|
|
__in int y
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiMoveTo(
|
|
__in HDC hdc,
|
|
__in int x,
|
|
__in int y,
|
|
__out_opt LPPOINT pptOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiExtGetObjectW(
|
|
__in HANDLE h,
|
|
__in int cj,
|
|
__out_bcount_opt(cj) LPVOID pvOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiGetDeviceCaps(
|
|
__in HDC hdc,
|
|
__in int i
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiGetDeviceCapsAll (
|
|
__in_opt HDC hdc,
|
|
__out PDEVCAPS pDevCaps
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiStretchBlt(
|
|
__in HDC hdcDst,
|
|
__in int xDst,
|
|
__in int yDst,
|
|
__in int cxDst,
|
|
__in int cyDst,
|
|
__in_opt HDC hdcSrc,
|
|
__in int xSrc,
|
|
__in int ySrc,
|
|
__in int cxSrc,
|
|
__in int cySrc,
|
|
__in DWORD dwRop,
|
|
__in DWORD dwBackColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetBrushOrg(
|
|
__in HDC hdc,
|
|
__in int x,
|
|
__in int y,
|
|
__out LPPOINT pptOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiCreateBitmap(
|
|
__in int cx,
|
|
__in int cy,
|
|
__in UINT cPlanes,
|
|
__in UINT cBPP,
|
|
__in_opt LPBYTE pjInit
|
|
);
|
|
|
|
__kernel_entry W32KAPI HPALETTE APIENTRY
|
|
NtGdiCreateHalftonePalette(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiRestoreDC(
|
|
__in HDC hdc,
|
|
__in int iLevel
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiExcludeClipRect(
|
|
__in HDC hdc,
|
|
__in int xLeft,
|
|
__in int yTop,
|
|
__in int xRight,
|
|
__in int yBottom
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiSaveDC(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiCombineRgn(
|
|
__in HRGN hrgnDst,
|
|
__in HRGN hrgnSrc1,
|
|
__in HRGN hrgnSrc2,
|
|
__in int iMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSetRectRgn(
|
|
__in HRGN hrgn,
|
|
__in int xLeft,
|
|
__in int yTop,
|
|
__in int xRight,
|
|
__in int yBottom
|
|
);
|
|
|
|
__kernel_entry W32KAPI LONG APIENTRY
|
|
NtGdiSetBitmapBits(
|
|
__in HBITMAP hbm,
|
|
__in ULONG cj,
|
|
__in_bcount(cj) PBYTE pjInit
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiGetDIBitsInternal(
|
|
__in HDC hdc,
|
|
__in HBITMAP hbm,
|
|
__in UINT iStartScan,
|
|
__in UINT cScans,
|
|
__out_bcount_opt(cjMaxBits) LPBYTE pBits,
|
|
__inout LPBITMAPINFO pbmi,
|
|
__in UINT iUsage,
|
|
__in UINT cjMaxBits,
|
|
__in UINT cjMaxInfo
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiOffsetRgn(
|
|
__in HRGN hrgn,
|
|
__in int cx,
|
|
__in int cy
|
|
);
|
|
|
|
__kernel_entry W32KAPI int APIENTRY
|
|
NtGdiGetRgnBox(
|
|
__in HRGN hrgn,
|
|
__out LPRECT prcOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiRectInRegion(
|
|
__in HRGN hrgn,
|
|
__inout LPRECT prcl
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiGetBoundsRect(
|
|
__in HDC hdc,
|
|
__out LPRECT prc,
|
|
__in DWORD f
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPtInRegion(
|
|
__in HRGN hrgn,
|
|
__in int x,
|
|
__in int y
|
|
);
|
|
|
|
__kernel_entry W32KAPI COLORREF APIENTRY
|
|
NtGdiGetNearestColor(
|
|
__in HDC hdc,
|
|
__in COLORREF cr
|
|
);
|
|
|
|
__kernel_entry W32KAPI UINT APIENTRY
|
|
NtGdiGetSystemPaletteUse(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI UINT APIENTRY
|
|
NtGdiSetSystemPaletteUse(
|
|
__in HDC hdc,
|
|
__in UINT ui
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiGetRegionData(
|
|
__in HRGN hrgn,
|
|
__in DWORD nCount,
|
|
__out_bcount_part_opt(nCount, return) LPRGNDATA lpRgnData
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiInvertRgn(
|
|
__in HDC hdc,
|
|
__in HRGN hrgn
|
|
);
|
|
|
|
|
|
// MISC FONT API's
|
|
|
|
__kernel_entry int W32KAPI APIENTRY
|
|
NtGdiAddFontResourceW(
|
|
__in_ecount(cwc) WCHAR *pwszFiles,
|
|
__in ULONG cwc,
|
|
__in ULONG cFiles,
|
|
__in FLONG f,
|
|
__in DWORD dwPidTid,
|
|
__in_opt DESIGNVECTOR *pdv
|
|
);
|
|
|
|
#if (_WIN32_WINNT >= 0x0500)
|
|
__kernel_entry W32KAPI HFONT APIENTRY
|
|
NtGdiHfontCreate(
|
|
__in_bcount(cjElfw) ENUMLOGFONTEXDVW *pelfw,
|
|
__in ULONG cjElfw,
|
|
__in LFTYPE lft,
|
|
__in FLONG fl,
|
|
__in PVOID pvCliData
|
|
);
|
|
|
|
#else
|
|
__kernel_entry W32KAPI HFONT APIENTRY
|
|
NtGdiHfontCreate(
|
|
__in LPEXTLOGFONTW pelfw,
|
|
__in ULONG cjElfw,
|
|
__in LFTYPE lft,
|
|
__in FLONG fl,
|
|
__in PVOID pvCliData
|
|
);
|
|
|
|
#endif
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiSetFontEnumeration(
|
|
__in ULONG ulType
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEnumFonts(
|
|
__in HDC hdc,
|
|
__in ULONG iEnumType,
|
|
__in FLONG flWin31Compat,
|
|
__in ULONG cchFaceName,
|
|
__in_ecount_opt(cchFaceName) LPCWSTR pwszFaceName,
|
|
__in ULONG lfCharSet,
|
|
__inout ULONG *pulCount,
|
|
__out_bcount_opt(*pulCount) void * pvUserModeBuffer
|
|
);
|
|
|
|
#define TYPE_ENUMFONTS 1
|
|
#define TYPE_ENUMFONTFAMILIES 2
|
|
#define TYPE_ENUMFONTFAMILIESEX 3
|
|
|
|
__kernel_entry W32KAPI INT APIENTRY
|
|
NtGdiQueryFonts(
|
|
__out_ecount(nBufferSize) PUNIVERSAL_FONT_ID pufiFontList,
|
|
__in ULONG nBufferSize,
|
|
__out PLARGE_INTEGER pTimeStamp
|
|
);
|
|
|
|
|
|
// needed for win95 functionality
|
|
|
|
__kernel_entry W32KAPI DWORD
|
|
NtGdiGetCharSet(
|
|
__in HDC hdc
|
|
);
|
|
|
|
|
|
// needed for fontlinking
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEnableEudc(
|
|
__in BOOL
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEudcLoadUnloadLink(
|
|
__in_ecount_opt(cwcBaseFaceName) LPCWSTR pBaseFaceName,
|
|
__in UINT cwcBaseFaceName,
|
|
__in_ecount(cwcEudcFontPath) LPCWSTR pEudcFontPath,
|
|
__in UINT cwcEudcFontPath,
|
|
__in INT iPriority,
|
|
__in INT iFontLinkType,
|
|
__in BOOL bLoadLin
|
|
);
|
|
|
|
__kernel_entry W32KAPI UINT APIENTRY
|
|
NtGdiGetStringBitmapW(
|
|
__in HDC hdc,
|
|
__in LPWSTR pwsz,
|
|
__in UINT cwc,
|
|
__in UINT cj,
|
|
__out_bcount(cj) BYTE *lpSB
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiGetEudcTimeStampEx(
|
|
__in_ecount_opt(cwcBaseFaceName) LPWSTR lpBaseFaceName,
|
|
__in ULONG cwcBaseFaceName,
|
|
__in BOOL bSystemTimeStamp
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiQueryFontAssocInfo(
|
|
__in HDC hdc
|
|
);
|
|
|
|
|
|
#if (_WIN32_WINNT >= 0x0500)
|
|
__kernel_entry W32KAPI DWORD
|
|
NtGdiGetFontUnicodeRanges(
|
|
__in HDC hdc,
|
|
__out_post_bcount_opt(return) LPGLYPHSET pgs
|
|
);
|
|
|
|
#endif
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiGetRealizationInfo(
|
|
__in HDC hdc,
|
|
__out PFONT_REALIZATION_INFO pri
|
|
);
|
|
|
|
typedef struct tagDOWNLOADDESIGNVECTOR {
|
|
UNIVERSAL_FONT_ID ufiBase;
|
|
DESIGNVECTOR dv;
|
|
} DOWNLOADDESIGNVECTOR;
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiAddRemoteMMInstanceToDC(
|
|
__in HDC hdc,
|
|
__in_bcount(cjDDV) DOWNLOADDESIGNVECTOR *pddv,
|
|
__in ULONG cjDDV
|
|
);
|
|
|
|
|
|
// user-mode printer support
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiUnloadPrinterDriver(
|
|
__in_bcount(cbDriverName) LPWSTR pDriverName,
|
|
__in ULONG cbDriverName
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngAssociateSurface(
|
|
__in HSURF hsurf,
|
|
__in HDEV hdev,
|
|
__in FLONG flHooks
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngEraseSurface(
|
|
__in SURFOBJ *pso,
|
|
__in RECTL *prcl,
|
|
__in ULONG iColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiEngCreateBitmap(
|
|
__in SIZEL sizl,
|
|
__in LONG lWidth,
|
|
__in ULONG iFormat,
|
|
__in FLONG fl,
|
|
__in_opt PVOID pvBits
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngDeleteSurface(
|
|
__in HSURF hsurf
|
|
);
|
|
|
|
__kernel_entry W32KAPI SURFOBJ* APIENTRY
|
|
NtGdiEngLockSurface(
|
|
__in HSURF hsurf
|
|
);
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiEngUnlockSurface(
|
|
__in SURFOBJ *
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngMarkBandingSurface(
|
|
__in HSURF hsurf
|
|
);
|
|
|
|
__kernel_entry W32KAPI HSURF APIENTRY
|
|
NtGdiEngCreateDeviceSurface(
|
|
__in DHSURF dhsurf,
|
|
__in SIZEL sizl,
|
|
__in ULONG iFormatCompat
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiEngCreateDeviceBitmap(
|
|
__in DHSURF dhsurf,
|
|
__in SIZEL sizl,
|
|
__in ULONG iFormatCompat
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngCopyBits(
|
|
__in SURFOBJ *psoDst,
|
|
__in SURFOBJ *psoSrc,
|
|
__in_opt CLIPOBJ *pco,
|
|
__in XLATEOBJ *pxlo,
|
|
__in RECTL *prclDst,
|
|
__in POINTL *pptlSrc
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngStretchBlt(
|
|
__in SURFOBJ *psoDest,
|
|
__in SURFOBJ *psoSrc,
|
|
__in SURFOBJ *psoMask,
|
|
__in CLIPOBJ *pco,
|
|
__in XLATEOBJ *pxlo,
|
|
__in COLORADJUSTMENT *pca,
|
|
__in POINTL *pptlHTOrg,
|
|
__in RECTL *prclDest,
|
|
__in RECTL *prclSrc,
|
|
__in POINTL *pptlMask,
|
|
__in ULONG iMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngBitBlt(
|
|
__in SURFOBJ *psoDst,
|
|
__in SURFOBJ *psoSrc,
|
|
__in SURFOBJ *psoMask,
|
|
__in CLIPOBJ *pco,
|
|
__in XLATEOBJ *pxlo,
|
|
__in RECTL *prclDst,
|
|
__in POINTL *pptlSrc,
|
|
__in POINTL *pptlMask,
|
|
__in BRUSHOBJ *pbo,
|
|
__in POINTL *pptlBrush,
|
|
__in ROP4 rop4
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngPlgBlt(
|
|
__in SURFOBJ *psoTrg,
|
|
__in SURFOBJ *psoSrc,
|
|
__in_opt SURFOBJ *psoMsk,
|
|
__in CLIPOBJ *pco,
|
|
__in XLATEOBJ *pxlo,
|
|
__in COLORADJUSTMENT *pca,
|
|
__in POINTL *pptlBrushOrg,
|
|
__in POINTFIX *pptfxDest,
|
|
__in RECTL *prclSrc,
|
|
__in_opt POINTL *pptlMask,
|
|
__in ULONG iMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI HPALETTE APIENTRY
|
|
NtGdiEngCreatePalette(
|
|
__in ULONG iMode,
|
|
__in ULONG cColors,
|
|
__in ULONG *pulColors,
|
|
__in FLONG flRed,
|
|
__in FLONG flGreen,
|
|
__in FLONG flBlue
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngDeletePalette(
|
|
__in HPALETTE hPal
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngStrokePath(
|
|
__in SURFOBJ *pso,
|
|
__in PATHOBJ *ppo,
|
|
__in CLIPOBJ *pco,
|
|
__in XFORMOBJ *pxo,
|
|
__in BRUSHOBJ *pbo,
|
|
__in POINTL *pptlBrushOrg,
|
|
__in LINEATTRS *plineattrs,
|
|
__in MIX mix
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngFillPath(
|
|
__in SURFOBJ *pso,
|
|
__in PATHOBJ *ppo,
|
|
__in CLIPOBJ *pco,
|
|
__in BRUSHOBJ *pbo,
|
|
__in POINTL *pptlBrushOrg,
|
|
__in MIX mix,
|
|
__in FLONG flOptions
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngStrokeAndFillPath(
|
|
__in SURFOBJ *pso,
|
|
__in PATHOBJ *ppo,
|
|
__in CLIPOBJ *pco,
|
|
__in XFORMOBJ *pxo,
|
|
__in BRUSHOBJ *pboStroke,
|
|
__in LINEATTRS *plineattrs,
|
|
__in BRUSHOBJ *pboFill,
|
|
__in POINTL *pptlBrushOrg,
|
|
__in MIX mix,
|
|
__in FLONG flOptions
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngPaint(
|
|
__in SURFOBJ *pso,
|
|
__in CLIPOBJ *pco,
|
|
__in BRUSHOBJ *pbo,
|
|
__in POINTL *pptlBrushOrg,
|
|
__in MIX mix
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngLineTo(
|
|
__in SURFOBJ *pso,
|
|
__in CLIPOBJ *pco,
|
|
__in BRUSHOBJ *pbo,
|
|
__in LONG x1,
|
|
__in LONG y1,
|
|
__in LONG x2,
|
|
__in LONG y2,
|
|
__in RECTL *prclBounds,
|
|
__in MIX mix
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngAlphaBlend(
|
|
__in SURFOBJ *psoDest,
|
|
__in SURFOBJ *psoSrc,
|
|
__in CLIPOBJ *pco,
|
|
__in XLATEOBJ *pxlo,
|
|
__in RECTL *prclDest,
|
|
__in RECTL *prclSrc,
|
|
__in BLENDOBJ *pBlendObj
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngGradientFill(
|
|
__in SURFOBJ *psoDest,
|
|
__in CLIPOBJ *pco,
|
|
__in XLATEOBJ *pxlo,
|
|
__in_ecount(nVertex) TRIVERTEX *pVertex,
|
|
__in ULONG nVertex,
|
|
__in_ecount(nMesh) PVOID pMesh,
|
|
__in ULONG nMesh,
|
|
__in RECTL *prclExtents,
|
|
__in POINTL *pptlDitherOrg,
|
|
__in ULONG ulMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngTransparentBlt(
|
|
__in SURFOBJ *psoDst,
|
|
__in SURFOBJ *psoSrc,
|
|
__in CLIPOBJ *pco,
|
|
__in XLATEOBJ *pxlo,
|
|
__in RECTL *prclDst,
|
|
__in RECTL *prclSrc,
|
|
__in ULONG iTransColor,
|
|
__in ULONG ulReserved
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngTextOut(
|
|
__in SURFOBJ *pso,
|
|
__in STROBJ *pstro,
|
|
__in FONTOBJ *pfo,
|
|
__in CLIPOBJ *pco,
|
|
__in RECTL *prclExtra,
|
|
__in RECTL *prclOpaque,
|
|
__in BRUSHOBJ *pboFore,
|
|
__in BRUSHOBJ *pboOpaque,
|
|
__in POINTL *pptlOrg,
|
|
__in MIX mix
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngStretchBltROP(
|
|
__in SURFOBJ *psoTrg,
|
|
__in SURFOBJ *psoSrc,
|
|
__in SURFOBJ *psoMask,
|
|
__in CLIPOBJ *pco,
|
|
__in XLATEOBJ *pxlo,
|
|
__in COLORADJUSTMENT *pca,
|
|
__in POINTL *pptlBrushOrg,
|
|
__in RECTL *prclTrg,
|
|
__in RECTL *prclSrc,
|
|
__in POINTL *pptlMask,
|
|
__in ULONG iMode,
|
|
__in BRUSHOBJ *pbo,
|
|
__in ROP4 rop4
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiXLATEOBJ_cGetPalette(
|
|
__in XLATEOBJ *pxlo,
|
|
__in ULONG iPal,
|
|
__in ULONG cPal,
|
|
__out_ecount(cPal) ULONG *pPal
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiCLIPOBJ_cEnumStart(
|
|
__in CLIPOBJ *pco,
|
|
__in BOOL bAll,
|
|
__in ULONG iType,
|
|
__in ULONG iDirection,
|
|
__in ULONG cLimit
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiCLIPOBJ_bEnum(
|
|
__in CLIPOBJ *pco,
|
|
__in ULONG cj,
|
|
__out_bcount(cj) ULONG *pul
|
|
);
|
|
|
|
__kernel_entry W32KAPI PATHOBJ* APIENTRY
|
|
NtGdiCLIPOBJ_ppoGetPath(
|
|
__in CLIPOBJ *pco
|
|
);
|
|
|
|
__kernel_entry W32KAPI CLIPOBJ* APIENTRY
|
|
NtGdiEngCreateClip();
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiEngDeleteClip(
|
|
__in CLIPOBJ*pco
|
|
);
|
|
|
|
__kernel_entry W32KAPI PVOID APIENTRY
|
|
NtGdiBRUSHOBJ_pvAllocRbrush(
|
|
__in BRUSHOBJ *pbo,
|
|
__in ULONG cj
|
|
);
|
|
|
|
__kernel_entry W32KAPI PVOID APIENTRY
|
|
NtGdiBRUSHOBJ_pvGetRbrush(
|
|
__in BRUSHOBJ *pbo
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiBRUSHOBJ_ulGetBrushColor(
|
|
__in BRUSHOBJ *pbo
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiBRUSHOBJ_hGetColorTransform(
|
|
__in BRUSHOBJ *pbo
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiXFORMOBJ_bApplyXform(
|
|
__in XFORMOBJ *pxo,
|
|
__in ULONG iMode,
|
|
__in ULONG cPoints,
|
|
__in_ecount(cPoints) POINTL *pvIn,
|
|
__out_ecount(cPoints) POINTL *pvOut
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiXFORMOBJ_iGetXform(
|
|
__in XFORMOBJ *pxo,
|
|
__out_opt XFORML *pxform
|
|
);
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiFONTOBJ_vGetInfo(
|
|
__in FONTOBJ *pfo,
|
|
__in ULONG cjSize,
|
|
__out_bcount(cjSize) FONTINFO *pfi
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiFONTOBJ_cGetGlyphs(
|
|
__in FONTOBJ *pfo,
|
|
__in ULONG iMode,
|
|
__in ULONG cGlyph,
|
|
__in HGLYPH *phg,
|
|
__deref_out __typefix(PGLYPHDATA *) PVOID *ppvGlyph
|
|
);
|
|
|
|
__kernel_entry W32KAPI XFORMOBJ* APIENTRY
|
|
NtGdiFONTOBJ_pxoGetXform(
|
|
__in FONTOBJ *pfo
|
|
);
|
|
|
|
__kernel_entry W32KAPI IFIMETRICS* APIENTRY
|
|
NtGdiFONTOBJ_pifi(
|
|
__in FONTOBJ *pfo
|
|
);
|
|
|
|
__kernel_entry W32KAPI FD_GLYPHSET* APIENTRY
|
|
NtGdiFONTOBJ_pfdg(
|
|
__in FONTOBJ *pfo
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiFONTOBJ_cGetAllGlyphHandles(
|
|
__in FONTOBJ *pfo,
|
|
__out_post_ecount_opt(return) HGLYPH *phg
|
|
);
|
|
|
|
__kernel_entry W32KAPI PVOID APIENTRY
|
|
NtGdiFONTOBJ_pvTrueTypeFontFile(
|
|
__in FONTOBJ *pfo,
|
|
__out ULONG *pcjFile
|
|
);
|
|
|
|
__kernel_entry W32KAPI PFD_GLYPHATTR APIENTRY
|
|
NtGdiFONTOBJ_pQueryGlyphAttrs(
|
|
__in FONTOBJ *pfo,
|
|
__in ULONG iMode
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSTROBJ_bEnum(
|
|
__in STROBJ *pstro,
|
|
__out ULONG *pc,
|
|
__deref_out_ecount(*pc) PGLYPHPOS *ppgpos
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSTROBJ_bEnumPositionsOnly(
|
|
__in STROBJ *pstro,
|
|
__out ULONG *pc,
|
|
__deref_out_ecount(*pc) PGLYPHPOS *ppgpos
|
|
);
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiSTROBJ_vEnumStart(
|
|
__in STROBJ *pstro
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiSTROBJ_dwGetCodePage(
|
|
__in STROBJ *pstro
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiSTROBJ_bGetAdvanceWidths(
|
|
__in STROBJ*pstro,
|
|
__in ULONG iFirst,
|
|
__in ULONG c,
|
|
__out_ecount(c) POINTQF*pptqD
|
|
);
|
|
|
|
__kernel_entry W32KAPI FD_GLYPHSET* APIENTRY
|
|
NtGdiEngComputeGlyphSet(
|
|
__in INT nCodePage,
|
|
__in INT nFirstChar,
|
|
__in INT cChars
|
|
);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiXLATEOBJ_iXlate(
|
|
__in XLATEOBJ *pxlo,
|
|
__in ULONG iColor
|
|
);
|
|
|
|
__kernel_entry W32KAPI HANDLE APIENTRY
|
|
NtGdiXLATEOBJ_hGetColorTransform(
|
|
__in XLATEOBJ *pxlo
|
|
);
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiPATHOBJ_vGetBounds(
|
|
__in PATHOBJ *ppo,
|
|
__out PRECTFX prectfx
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPATHOBJ_bEnum(
|
|
__in PATHOBJ *ppo,
|
|
__out PATHDATA *ppd
|
|
);
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiPATHOBJ_vEnumStart(
|
|
__in PATHOBJ *ppo
|
|
);
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiEngDeletePath(
|
|
__in PATHOBJ *ppo
|
|
);
|
|
|
|
__kernel_entry W32KAPI VOID APIENTRY
|
|
NtGdiPATHOBJ_vEnumStartClipLines(
|
|
__in PATHOBJ *ppo,
|
|
__in CLIPOBJ *pco,
|
|
__in SURFOBJ *pso,
|
|
__in LINEATTRS *pla
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiPATHOBJ_bEnumClipLines(
|
|
__in PATHOBJ *ppo,
|
|
__in ULONG cb,
|
|
__out_bcount(cb) CLIPLINE *pcl
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiEngCheckAbort(
|
|
__in SURFOBJ *pso
|
|
);
|
|
|
|
__kernel_entry W32KAPI DHPDEV
|
|
NtGdiGetDhpdev(
|
|
__in HDEV hdev
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI LONG APIENTRY
|
|
NtGdiHT_Get8BPPFormatPalette(
|
|
__out_post_ecount_opt(return) LPPALETTEENTRY pPaletteEntry,
|
|
__in USHORT RedGamma,
|
|
__in USHORT GreenGamma,
|
|
__in USHORT BlueGamma
|
|
);
|
|
|
|
__kernel_entry W32KAPI LONG APIENTRY
|
|
NtGdiHT_Get8BPPMaskPalette(
|
|
__out_post_ecount_opt(return) LPPALETTEENTRY pPaletteEntry,
|
|
__in BOOL Use8BPPMaskPal,
|
|
__in BYTE CMYMask,
|
|
__in USHORT RedGamma,
|
|
__in USHORT GreenGamma,
|
|
__in USHORT BlueGamma
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiUpdateTransform(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI DWORD APIENTRY
|
|
NtGdiSetLayout(
|
|
__in HDC hdc,
|
|
__in LONG wox,
|
|
__in DWORD dwLayout
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiMirrorWindowOrg(
|
|
__in HDC hdc
|
|
);
|
|
|
|
__kernel_entry W32KAPI LONG APIENTRY
|
|
NtGdiGetDeviceWidth(
|
|
__in HDC hdc
|
|
);
|
|
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiSetPUMPDOBJ(
|
|
__in_opt HUMPD humpd,
|
|
__in BOOL bStoreID,
|
|
__inout_opt HUMPD *phumpd,
|
|
__out_opt BOOL *pbWOW64
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiBRUSHOBJ_DeleteRbrush(
|
|
__in_opt BRUSHOBJ *pbo,
|
|
__in_opt BRUSHOBJ *pboB
|
|
);
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiUMPDEngFreeUserMem(
|
|
__in KERNEL_PVOID *ppv
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiSetBitmapAttributes(
|
|
__in HBITMAP hbm,
|
|
__in DWORD dwFlags
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBITMAP APIENTRY
|
|
NtGdiClearBitmapAttributes(
|
|
__in HBITMAP hbm,
|
|
__in DWORD dwFlags
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBRUSH APIENTRY
|
|
NtGdiSetBrushAttributes(
|
|
__in HBRUSH hbm,
|
|
__in DWORD dwFlags
|
|
);
|
|
|
|
__kernel_entry W32KAPI HBRUSH APIENTRY
|
|
NtGdiClearBrushAttributes(
|
|
__in HBRUSH hbr,
|
|
__in DWORD dwFlags
|
|
);
|
|
|
|
|
|
// Private draw stream interface
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY
|
|
NtGdiDrawStream(
|
|
__in HDC hdcDst,
|
|
__in ULONG cjIn,
|
|
__in_bcount(cjIn) VOID *pvIn
|
|
);
|
|
|
|
// Private Xfer interfaces
|
|
|
|
__kernel_entry W32KAPI BOOL APIENTRY NtGdiMakeObjectXferable(IN HANDLE h, IN DWORD dwProcessId);
|
|
__kernel_entry W32KAPI BOOL APIENTRY NtGdiMakeObjectUnXferable(IN HANDLE h);
|
|
|
|
// Private DWM interfaces
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiSfmGetNotificationTokens(
|
|
__in UINT cBytes,
|
|
__out UINT* pNrOfTokensReturned,
|
|
PVOID pTokenBuffer);
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiSfmRegisterLogicalSurfaceForSignaling(
|
|
__in HLSURF hlsurf,
|
|
BOOL fSignalOnDirty);
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiDwmGetHighColorMode(
|
|
__out DXGI_FORMAT* pdxgiFormat);
|
|
|
|
__kernel_entry W32KAPI BOOL
|
|
NtGdiDwmSetHighColorMode(
|
|
__in DXGI_FORMAT dxgiFormat);
|
|
|
|
__kernel_entry W32KAPI HANDLE
|
|
NtGdiDwmCaptureScreen(
|
|
__in const RECT* prcCapture,
|
|
__in DXGI_FORMAT dxgiFormat);
|
|
|
|
__kernel_entry W32KAPI NTSTATUS APIENTRY
|
|
NtGdiDdCreateFullscreenSprite(
|
|
__in HDC hdc,
|
|
__in COLORREF crKey,
|
|
__out HANDLE* phSprite,
|
|
__out HDC* phdcSprite);
|
|
|
|
__kernel_entry W32KAPI NTSTATUS APIENTRY
|
|
NtGdiDdNotifyFullscreenSpriteUpdate(
|
|
__in HDC hdc,
|
|
__in HANDLE hSprite);
|
|
|
|
__kernel_entry W32KAPI NTSTATUS APIENTRY
|
|
NtGdiDdDestroyFullscreenSprite(
|
|
__in HDC hdc,
|
|
__in HANDLE hSprite);
|
|
|
|
__kernel_entry W32KAPI ULONG APIENTRY
|
|
NtGdiDdQueryVisRgnUniqueness();
|
|
|
|
__kernel_entry
|
|
W32KAPI BOOL APIENTRY NtGdiHLSurfGetInformation(
|
|
__in HLSURF hLsurf,
|
|
__in HLSURF_INFORMATION_CLASS InformationClass,
|
|
__in_bcount_opt(*pulInformationLength) PVOID InformationBuffer,
|
|
__inout PULONG pulInformationLength
|
|
);
|
|
|
|
__kernel_entry
|
|
W32KAPI BOOL APIENTRY NtGdiHLSurfSetInformation(
|
|
__in HLSURF hLsurf,
|
|
__in HLSURF_INFORMATION_CLASS InformationClass,
|
|
__in_bcount_opt(InformationLength) PVOID InformationBuffer,
|
|
__in ULONG InformationLength
|
|
);
|
|
|