Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

270 lines
14 KiB

// PRIVATE
BOOL APIENTRY NtGdiInit();
int APIENTRY NtGdiSetDIBitsToDeviceInternal(HDC, int, int, DWORD, DWORD, int, int, DWORD, DWORD, LPBYTE, LPBITMAPINFO, DWORD,UINT,UINT,BOOL);
BOOL APIENTRY NtGdiGetFontResourceInfoInternalW(LPWSTR lpPathname, ULONG cwc, ULONG cFiles, UINT cjIn, LPDWORD lpBytes, LPVOID lpBuffer,DWORD iType);
HPALETTE APIENTRY NtGdiCreatePaletteInternal(LPLOGPALETTE pLogPal, UINT cEntries);
BOOL APIENTRY NtGdiArcInternal(ARCTYPE arctype,HDC hdc,int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4);
int APIENTRY NtGdiStretchDIBitsInternal(HDC hdc,int xDst,int yDst,int cWidthDest,int cHeightDest,int xSrc,int ySrc,int cWidthSrc,int cHeightSrc,LPBYTE pInitBits,LPBITMAPINFO pInfoHeader,DWORD iUsage,DWORD rop4,UINT cjMaxInfo,UINT cjMaxBits);
ULONG APIENTRY NtGdiGetOutlineTextMetricsInternalW(HDC hdc,ULONG cjotm,OUTLINETEXTMETRICW *potmw,TMDIFF *ptmd);
BOOL APIENTRY NtGdiGetAndSetDCDword(HDC,UINT,DWORD,DWORD*);
HANDLE APIENTRY NtGdiGetDCObject(HDC hdc,int itype);
HDC APIENTRY NtGdiGetDCforBitmap(HBITMAP hsurf);
BOOL APIENTRY NtGdiGetUFI(HDC hdc, PUNIVERSAL_FONT_ID pufi);
BOOL APIENTRY NtGdiForceUFIMapping(HDC hdc, PUNIVERSAL_FONT_ID pufi);
BOOL APIENTRY NtGdiGetUFIBits(PUNIVERSAL_FONT_ID pufi, ULONG cjMaxBytes, PVOID pjBits, PULONG pulFileSize);
BOOL APIENTRY NtGdiAddRemoteFontToDC( HDC hdc, PVOID pvBuffer, ULONG cjBuffer );
ULONG APIENTRY NtGdiPolyPolyDraw(HDC hdc,PPOINT ppt,PULONG pcpt,ULONG ccpt,int iFunc);
LONG APIENTRY NtGdiDoPalette(HPALETTE,WORD,WORD,PALETTEENTRY*,DWORD,BOOL);
BOOL APIENTRY NtGdiComputeXformCoefficients(HDC);
BOOL APIENTRY NtGdiGetWidthTable(HDC, ULONG, WCHAR*, ULONG, USHORT*, WIDTHDATA*, FLONG* );
int APIENTRY NtGdiDescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
BOOL APIENTRY NtGdiSetPixelFormat(HDC, int);
BOOL APIENTRY NtGdiSwapBuffers(HDC);
DWORD APIENTRY NtGdiDdBlt(HANDLE,HANDLE,PDD_BLTDATA);
DWORD APIENTRY NtGdiDdCanCreateSurface(HANDLE,PDD_CANCREATESURFACEDATA);
HANDLE APIENTRY NtGdiDdCreateDirectDrawObject(HDC);
DWORD APIENTRY NtGdiDdCreateSurface(HANDLE,DDSURFACEDESC*,PDD_SURFACE_GLOBAL,PDD_SURFACE_LOCAL,PDD_CREATESURFACEDATA,HANDLE*);
HANDLE APIENTRY NtGdiDdCreateSurfaceObject(HANDLE,HANDLE,PDD_SURFACE_LOCAL,PDD_SURFACE_GLOBAL,BOOL);
BOOL APIENTRY NtGdiDdDeleteSurfaceObject(HANDLE);
BOOL APIENTRY NtGdiDdDeleteDirectDrawObject(HANDLE);
DWORD APIENTRY NtGdiDdDestroySurface(HANDLE);
BOOL APIENTRY NtGdiDdDisableAllSurfaces(HANDLE);
HANDLE APIENTRY NtGdiDdDuplicateSurface(HANDLE);
DWORD APIENTRY NtGdiDdFlip(HANDLE,HANDLE,PDD_FLIPDATA);
DWORD APIENTRY NtGdiDdGetBltStatus(HANDLE,PDD_GETBLTSTATUSDATA);
HDC APIENTRY NtGdiDdGetDC(HANDLE);
DWORD APIENTRY NtGdiDdGetFlipStatus(HANDLE,PDD_GETFLIPSTATUSDATA);
DWORD APIENTRY NtGdiDdGetScanLine(HANDLE,PDD_GETSCANLINEDATA);
DWORD APIENTRY NtGdiDdLock(HANDLE,PDD_LOCKDATA);
BOOL APIENTRY NtGdiDdQueryDirectDrawObject(HANDLE,PDD_HALINFO,DWORD*,DWORD*,VIDEOMEMORY*,DWORD*,DWORD*);
BOOL APIENTRY NtGdiDdQueryModeX(HDC);
BOOL APIENTRY NtGdiDdReenableDirectDrawObject(HANDLE,BOOL*);
BOOL APIENTRY NtGdiDdReleaseDC(HANDLE);
BOOL APIENTRY NtGdiDdResetVisrgn(HANDLE,HWND);
DWORD APIENTRY NtGdiDdSetColorKey(HANDLE,PDD_SETCOLORKEYDATA);
BOOL APIENTRY NtGdiDdSetModeX(HANDLE,ULONG);
DWORD APIENTRY NtGdiDdSetOverlayPosition(HANDLE,HANDLE,PDD_SETOVERLAYPOSITIONDATA);
DWORD APIENTRY NtGdiDdUnlock(HANDLE,PDD_UNLOCKDATA);
DWORD APIENTRY NtGdiDdUpdateOverlay(HANDLE,HANDLE,PDD_UPDATEOVERLAYDATA);
DWORD APIENTRY NtGdiDdWaitForVerticalBlank(HANDLE,PDD_WAITFORVERTICALBLANKDATA);
int APIENTRY NtGdiSetupPublicCFONT(HDC,HFONT,ULONG);
// PUBLIC
VOID APIENTRY NtGdiFlush();
HDC APIENTRY NtGdiCreateMetafileDC(HDC hdc);
BOOL APIENTRY NtGdiMakeInfoDC(HDC hdc, BOOL bSet);
HANDLE APIENTRY NtGdiCreateClientObj(ULONG ulType);
BOOL APIENTRY NtGdiDeleteClientObj(HANDLE h);
LONG APIENTRY NtGdiGetBitmapBits(HBITMAP,ULONG,PBYTE);
BOOL APIENTRY NtGdiDeleteObjectApp(HANDLE hobj);
int APIENTRY NtGdiGetPath(HDC,LPPOINT,LPBYTE,int);
HDC APIENTRY NtGdiCreateCompatibleDC(HDC);
HBITMAP APIENTRY NtGdiCreateDIBitmapInternal(HDC, INT, INT, DWORD, LPBYTE, LPBITMAPINFO, DWORD, UINT,UINT,FLONG);
HBITMAP APIENTRY NtGdiCreateDIBSection(HDC,HANDLE,DWORD,LPBITMAPINFO,DWORD,UINT,FLONG,PVOID);
//VOID APIENTRY NtGdiFlushUserBatch();
HBRUSH APIENTRY NtGdiCreateSolidBrush(COLORREF, HBRUSH hbr);
HBRUSH APIENTRY NtGdiCreateDIBBrush(PVOID pv, FLONG fl, UINT cjMax, BOOL b8X8, BOOL bPen);
HBRUSH APIENTRY NtGdiCreatePatternBrushInternal(HBITMAP hbm,BOOL bPen,BOOL b8X8);
HBRUSH APIENTRY NtGdiCreateHatchBrushInternal(ULONG ulStyle,COLORREF clrr,BOOL bPen);
HPEN APIENTRY NtGdiExtCreatePen(ULONG, ULONG, ULONG, ULONG, LONG, ULONG, PULONG, ULONG, BOOL, HBRUSH);
HRGN APIENTRY NtGdiCreateEllipticRgn(int xLeft,int yTop,int xRight,int yBottom);
HRGN APIENTRY NtGdiCreateRoundRectRgn(int, int, int, int, int, int);
HANDLE APIENTRY NtGdiCreateServerMetaFile(DWORD iType, ULONG cbData, LPBYTE lpClientData, DWORD mm, DWORD xExt, DWORD yExt);
HRGN APIENTRY NtGdiExtCreateRegion(LPXFORM, DWORD, LPRGNDATA);
ULONG APIENTRY NtGdiMakeFontDir(FLONG, PBYTE, unsigned, LPWSTR, unsigned);
BOOL APIENTRY NtGdiPolyDraw(HDC,LPPOINT,LPBYTE,ULONG);
BOOL APIENTRY NtGdiPolyTextOutW(HDC, POLYTEXTW *, UINT, DWORD);
HANDLE APIENTRY NtGdiSelectPalette(HDC hdc,HPALETTE hpalNew,BOOL bForceBackground);
ULONG APIENTRY NtGdiGetServerMetaFileBits(HANDLE hmo, ULONG cbData, LPBYTE lpClientData, PDWORD piType, PDWORD pmm, PDWORD pxExt, PDWORD pyExt);
BOOL APIENTRY NtGdiEqualRgn(HRGN, HRGN);
BOOL APIENTRY NtGdiGetBitmapDimension(HBITMAP, LPSIZE);
UINT APIENTRY NtGdiGetNearestPaletteIndex(HPALETTE, COLORREF);
BOOL APIENTRY NtGdiPtVisible(HDC, int, int);
BOOL APIENTRY NtGdiRectVisible(HDC, LPRECT);
BOOL APIENTRY NtGdiRemoveFontResourceW(WCHAR *, ULONG, ULONG);
BOOL APIENTRY NtGdiResizePalette(HPALETTE, UINT);
BOOL APIENTRY NtGdiSetBitmapDimension(HBITMAP, int, int, LPSIZE);
int APIENTRY NtGdiOffsetClipRgn(HDC, int, int);
int APIENTRY NtGdiSetMetaRgn(HDC hdc);
BOOL APIENTRY NtGdiSetTextJustification(HDC, int, int);
int APIENTRY NtGdiGetAppClipBox(HDC, LPRECT);
BOOL APIENTRY NtGdiGetTextExtentExW(HDC, LPWSTR, ULONG, ULONG, ULONG *, PULONG, LPSIZE);
BOOL APIENTRY NtGdiGetCharABCWidthsW(HDC,UINT,ULONG,PWCHAR,BOOL,PVOID);
DWORD APIENTRY NtGdiGetCharacterPlacementW(HDC,LPWSTR,int,int,LPGCP_RESULTSW,DWORD);
BOOL APIENTRY NtGdiAngleArc(HDC,int,int,DWORD,DWORD,DWORD);
BOOL APIENTRY NtGdiBeginPath(HDC);
BOOL APIENTRY NtGdiSelectClipPath(HDC,int);
BOOL APIENTRY NtGdiCloseFigure(HDC);
BOOL APIENTRY NtGdiEndPath(HDC);
BOOL APIENTRY NtGdiAbortPath(HDC);
BOOL APIENTRY NtGdiFillPath(HDC);
BOOL APIENTRY NtGdiStrokeAndFillPath(HDC);
BOOL APIENTRY NtGdiStrokePath(HDC);
BOOL APIENTRY NtGdiWidenPath(HDC);
BOOL APIENTRY NtGdiFlattenPath(HDC);
HRGN APIENTRY NtGdiPathToRegion(HDC);
BOOL APIENTRY NtGdiSetMiterLimit(HDC,DWORD,PFLOAT);
BOOL APIENTRY NtGdiSetFontXform(HDC,DWORD,DWORD);
BOOL APIENTRY NtGdiGetMiterLimit(HDC,PFLOAT);
BOOL APIENTRY NtGdiEllipse(HDC,int,int,int,int);
BOOL APIENTRY NtGdiRectangle(HDC,int,int,int,int);
BOOL APIENTRY NtGdiRoundRect(HDC,int,int,int,int,int,int);
BOOL APIENTRY NtGdiPlgBlt(HDC,LPPOINT,HDC,int,int,int,int,HBITMAP,int,int,DWORD);
BOOL APIENTRY NtGdiMaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD,DWORD);
BOOL APIENTRY NtGdiExtFloodFill(HDC,int,int,COLORREF,UINT);
BOOL APIENTRY NtGdiFillRgn(HDC,HRGN,HBRUSH);
BOOL APIENTRY NtGdiFrameRgn(HDC,HRGN,HBRUSH,int,int);
COLORREF APIENTRY NtGdiSetPixel(HDC, int, int, COLORREF);
DWORD APIENTRY NtGdiGetPixel(HDC, int, int);
BOOL APIENTRY NtGdiStartPage(HDC);
BOOL APIENTRY NtGdiEndPage(HDC);
int APIENTRY NtGdiStartDoc(HDC, DOCINFOW *, BOOL *);
BOOL APIENTRY NtGdiEndDoc(HDC);
BOOL APIENTRY NtGdiAbortDoc(HDC);
BOOL APIENTRY NtGdiUpdateColors(HDC);
BOOL APIENTRY NtGdiGetCharWidthW(HDC hdc, UINT wcFirstChar, UINT cwc, PWCHAR pwc, UINT fl, PVOID lpBuffer);
BOOL APIENTRY NtGdiGetCharWidthInfo(HDC hdc, PCHWIDTHINFO pChWidthInfo);
int APIENTRY NtGdiDrawEscape(HDC,int,int,LPSTR);
int APIENTRY NtGdiExtEscape(HDC,LPWSTR,int,int,int,LPSTR,int,LPSTR);
ULONG APIENTRY NtGdiGetFontData(HDC, DWORD, DWORD, PVOID, ULONG);
ULONG APIENTRY NtGdiGetGlyphOutline(HDC, WCHAR, UINT, LPGLYPHMETRICS, ULONG, PVOID, LPMAT2,BOOL);
BOOL APIENTRY NtGdiGetETM(HDC, EXTTEXTMETRIC *);
BOOL APIENTRY NtGdiGetRasterizerCaps(LPRASTERIZER_STATUS,ULONG);
ULONG APIENTRY NtGdiGetKerningPairs(HDC hdc,ULONG cPairs,KERNINGPAIR *pkpDst);
BOOL APIENTRY NtGdiMonoBitmap(HBITMAP);
HBITMAP APIENTRY NtGdiGetObjectBitmapHandle(HBRUSH, UINT *);
ULONG APIENTRY NtGdiEnumObjects(HDC, int, ULONG, PVOID);
BOOL APIENTRY NtGdiResetDC(HDC, LPDEVMODEW, PBOOL);
DWORD APIENTRY NtGdiSetBoundsRect(HDC, LPRECT, DWORD);
BOOL APIENTRY NtGdiGetColorAdjustment(HDC, PCOLORADJUSTMENT);
BOOL APIENTRY NtGdiSetColorAdjustment(HDC, PCOLORADJUSTMENT);
BOOL APIENTRY NtGdiCancelDC(HDC);
int APIENTRY NtGdiSetTextCharacterExtra(HDC, int);
HDC APIENTRY NtGdiOpenDCW(PUNICODE_STRING, PDEVMODEW, PUNICODE_STRING, ULONG, HANDLE);
BOOL APIENTRY NtGdiGetDCDword( HDC hdc, UINT u, DWORD *Result);
PVOID APIENTRY NtGdiMapSharedHandleTable(VOID);
BOOL APIENTRY NtGdiGetDCPoint(HDC,UINT,PPOINTL);
BOOL APIENTRY NtGdiScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
BOOL APIENTRY NtGdiScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
BOOL APIENTRY NtGdiSetVirtualResolution(HDC,int,int,int,int);
BOOL APIENTRY NtGdiGetTransform(HDC, DWORD, LPXFORM);
BOOL APIENTRY NtGdiModifyWorldTransform(HDC,LPXFORM, DWORD);
BOOL APIENTRY NtGdiCombineTransform(LPXFORM, LPXFORM, LPXFORM);
BOOL APIENTRY NtGdiTransformPoints(HDC hdc,PPOINT pptIn,PPOINT pptOut,int c,int iMode);
LONG APIENTRY NtGdiConvertMetafileRect(HDC,PRECTL);
int APIENTRY NtGdiGetTextCharsetInfo(HDC hdc, LPFONTSIGNATURE lpSig, DWORD dwFlags);
BOOL APIENTRY NtGdiTranslateCharsetInfo( DWORD FAR *lpSrc, LPCHARSETINFO lpCs, DWORD dwFlags);
BOOL APIENTRY NtGdiDoBanding( HDC hdc,BOOL bStart,POINTL *pptl,LPSIZE pSize);
#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
NTSTATUS APIENTRY NtGdiGetStats(HANDLE hProcess,int iIndex,int iPidType,PVOID pResults,UINT cjResultSize);
//API's used by USER
BOOL APIENTRY NtGdiSetMagicColors(HDC,PALETTEENTRY,ULONG);
HBRUSH APIENTRY NtGdiSelectBrush(HDC,HBRUSH);
HPEN APIENTRY NtGdiSelectPen(HDC,HPEN);
HBITMAP APIENTRY NtGdiSelectBitmap(HDC,HBITMAP);
HFONT APIENTRY NtGdiSelectFont(HDC,HFONT);
int APIENTRY NtGdiExtSelectClipRgn(HDC, HRGN, int);
HPEN APIENTRY NtGdiCreatePen(int, int, COLORREF,HBRUSH);
BOOL APIENTRY NtGdiBitBlt(HDC,int,int,int,int,HDC,int,int,DWORD,DWORD);
BOOL APIENTRY NtGdiGetTextExtent(HDC,LPWSTR,int,LPSIZE,UINT);
BOOL APIENTRY NtGdiGetTextMetricsW(HDC, TMW_INTERNAL *,ULONG cj);
int APIENTRY NtGdiGetTextFaceW(HDC,int,LPWSTR);
int APIENTRY NtGdiGetRandomRgn(HDC, HRGN, int);
BOOL APIENTRY NtGdiExtTextOutW(HDC,int,int,UINT,LPRECT,LPWSTR,int,LPINT,DWORD);
HRGN APIENTRY NtGdiCreateRectRgn(int, int, int, int);
int APIENTRY NtGdiIntersectClipRect(HDC, int, int, int, int);
BOOL APIENTRY NtGdiPatBlt(HDC,int,int,int,int,DWORD);
BOOL APIENTRY NtGdiPolyPatBlt(HDC,DWORD,PPOLYPATBLT,DWORD,DWORD);
BOOL APIENTRY NtGdiUnrealizeObject(HANDLE);
HANDLE APIENTRY NtGdiGetStockObject(int);
HBITMAP APIENTRY NtGdiCreateCompatibleBitmap(HDC, int, int);
BOOL APIENTRY NtGdiLineTo(HDC,int,int);
BOOL APIENTRY NtGdiMoveTo(HDC, int, int, LPPOINT);
int APIENTRY NtGdiExtGetObjectW(HANDLE, int, LPVOID);
int APIENTRY NtGdiGetDeviceCaps(HDC, int);
BOOL APIENTRY NtGdiGetDeviceCapsAll (HDC, PDEVCAPS);
BOOL APIENTRY NtGdiStretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD,DWORD);
BOOL APIENTRY NtGdiSetBrushOrg(HDC, int, int, LPPOINT);
HBITMAP APIENTRY NtGdiCreateBitmap(int, int, UINT, UINT, LPBYTE);
HPALETTE APIENTRY NtGdiCreateHalftonePalette(HDC hdc);
BOOL APIENTRY NtGdiRestoreDC(HDC, int);
int APIENTRY NtGdiExcludeClipRect(HDC, int, int, int, int);
int APIENTRY NtGdiSaveDC(HDC);
int APIENTRY NtGdiCombineRgn(HRGN, HRGN, HRGN, int);
BOOL APIENTRY NtGdiSetRectRgn(HRGN, int, int, int, int);
LONG APIENTRY NtGdiSetBitmapBits(HBITMAP, ULONG, PBYTE);
int APIENTRY NtGdiGetDIBitsInternal(HDC, HBITMAP, UINT, UINT, LPBYTE, LPBITMAPINFO, UINT, UINT, UINT);
int APIENTRY NtGdiOffsetRgn(HRGN, int, int);
int APIENTRY NtGdiGetRgnBox(HRGN, LPRECT);
BOOL APIENTRY NtGdiRectInRegion(HRGN, LPRECT);
DWORD APIENTRY NtGdiGetBoundsRect(HDC, LPRECT, DWORD);
BOOL APIENTRY NtGdiPtInRegion(HRGN, int, int);
COLORREF APIENTRY NtGdiGetNearestColor(HDC, COLORREF);
UINT APIENTRY NtGdiGetSystemPaletteUse(HDC);
UINT APIENTRY NtGdiSetSystemPaletteUse(HDC, UINT);
DWORD APIENTRY NtGdiGetRegionData(HRGN, DWORD, LPRGNDATA);
BOOL APIENTRY NtGdiInvertRgn(HDC, HRGN);
HANDLE APIENTRY NtGdiFixUpHandle(HANDLE h);
int APIENTRY NtGdiPerf(HDC hdc,int iEsc,PVOID pvIn);
// MISC FONT API's
int APIENTRY NtGdiAddFontResourceW(WCHAR *, ULONG, ULONG , FLONG, DWORD);
HFONT APIENTRY NtGdiHfontCreate(LPEXTLOGFONTW pelfw, LFTYPE lft, FLONG fl, PVOID pvCliData);
ULONG APIENTRY NtGdiSetFontEnumeration(ULONG ulType);
BOOL APIENTRY NtGdiEnumFontClose(ULONG idEnum);
BOOL APIENTRY NtGdiEnumFontChunk(HDC hdc,ULONG idEnum,ULONG cefdw,ULONG *pcefdw,PENUMFONTDATAW pefdw);
ULONG APIENTRY NtGdiEnumFontOpen(HDC,ULONG,FLONG,ULONG,LPWSTR,ULONG,ULONG *);
#define TYPE_ENUMFONTS 1
#define TYPE_ENUMFONTFAMILIES 2
#define TYPE_ENUMFONTFAMILIESEX 3
INT APIENTRY NtGdiQueryFonts(PUNIVERSAL_FONT_ID,ULONG, PLARGE_INTEGER );
// Console API
BOOL APIENTRY NtGdiConsoleTextOut(HDC hdc,POLYTEXTW *lpto,UINT nStrings,RECTL *prclBounds);
// needed for win95 functionality
DWORD NtGdiGetCharSet(HDC hdc);
// needed for fontlinking
BOOL APIENTRY NtGdiEnableEudc(BOOL);
UINT APIENTRY NtGdiEudcQuerySystemLink(LPWSTR,UINT);
BOOL APIENTRY NtGdiEudcLoadUnloadLink(LPCWSTR,UINT,LPCWSTR,UINT,INT,INT,BOOL);
UINT APIENTRY NtGdiEudcEnumFaceNameLinkW(LPWSTR,UINT,WCHAR*,UINT);
UINT APIENTRY NtGdiGetStringBitmapW(HDC,LPWSTR,UINT,BYTE*,UINT);
ULONG APIENTRY NtGdiGetEudcTimeStampEx(LPWSTR,ULONG,BOOL);
ULONG APIENTRY NtGdiQueryFontAssocInfo(HDC hdc);