42 return ppdev->
pldev->pfn.EnablePDEV(pdm,
65 ppdev->
pldev->pfn.CompletePDEV(dhpdev,
hdev);
77 ppdev->
pldev->pfn.DisablePDEV(dhpdev);
89 return ppdev->
pldev->pfn.EnableSurface(dhpdev);
101 ppdev->
pldev->pfn.DisableSurface(dhpdev);
200 return ppdev->
pldev->pfn.DitherColor(dhpdev,
iMode,
rgb, pul);
344 return ppdev->
pldev->pfn.BitBlt(psoTrg,
382 return ppdev->
pldev->pfn.CopyBits(psoTrg,
614 return ppdev->
pldev->pfn.GetGlyphMode(dhpdev,
pfo);
627 ppdev->
pldev->pfn.Synchronize(dhpdev,
prcl);
857 return ppdev->
pldev->pfn.GetDirectDrawInfo(dhpdev,
877 return ppdev->
pldev->pfn.EnableDirectDraw(dhpdev,
892 ppdev->
pldev->pfn.DisableDirectDraw(dhpdev);
921 return ppdev->
pldev->pfn.IcmCreateColorTransform(dhpdev,
942 return ppdev->
pldev->pfn.IcmDeleteColorTransform(dhpdev,
hcmXform);
957 return ppdev->
pldev->pfn.IcmCheckBitmapBits(dhpdev,
974 return ppdev->
pldev->pfn.IcmSetDeviceGammaRamp(dhpdev,
iFormat, lpRamp);
1104 return ppdev->
pldev->pfn.QueryDeviceSupport(
pso,
#define DBG_DEFAULT_CHANNEL(ch)
VOID APIENTRY DbgDrvMovePointer(_In_ SURFOBJ *pso, _In_ LONG x, _In_ LONG y, _In_ RECTL *prcl)
BOOL APIENTRY DbgDrvPaint(IN SURFOBJ *pso, IN CLIPOBJ *pco, IN BRUSHOBJ *pbo, IN POINTL *pptlBrushOrg, IN MIX mix)
LONG APIENTRY DbgDrvQueryFontFile(ULONG_PTR iFile, ULONG ulMode, ULONG cjBuf, ULONG *pulBuf)
VOID APIENTRY DbgDrvDisablePDEV(DHPDEV dhpdev)
VOID APIENTRY DbgDrvSynchronizeSurface(SURFOBJ *pso, RECTL *prcl, FLONG fl)
VOID APIENTRY DbgDrvCompletePDEV(DHPDEV dhpdev, HDEV hdev)
LONG APIENTRY DbgDrvQueryFontCaps(ULONG culCaps, ULONG *pulCaps)
PFD_GLYPHATTR APIENTRY DbgDrvQueryGlyphAttrs(_In_ FONTOBJ *pfo, _In_ ULONG iMode)
ULONG APIENTRY DbgDrvGetModes(_In_ HANDLE hDriver, ULONG cjSize, _Out_opt_ DEVMODEW *pdm)
BOOL APIENTRY DbgDrvCopyBits(SURFOBJ *psoTrg, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, RECTL *prclTrg, POINTL *pptlSrc)
ULONG APIENTRY DbgDrvGetGlyphMode(_In_ DHPDEV dhpdev, _In_ FONTOBJ *pfo)
BOOL APIENTRY DbgDrvIcmDeleteColorTransform(_In_ DHPDEV dhpdev, _In_ HANDLE hcmXform)
VOID APIENTRY DbgDrvNotify(SURFOBJ *pso, ULONG iType, PVOID pvData)
VOID APIENTRY DbgDrvDisableDriver(void)
ULONG_PTR APIENTRY DbgDrvLoadFontFile(ULONG cFiles, ULONG_PTR *piFile, PVOID *ppvView, ULONG *pcjView, DESIGNVECTOR *pdv, ULONG ulLangID, ULONG ulFastCheckSum)
BOOL APIENTRY DbgDrvIcmCheckBitmapBits(DHPDEV dhpdev, HANDLE hColorTransform, SURFOBJ *pso, PBYTE paResults)
BOOL APIENTRY DbgDrvRealizeBrush(_In_ BRUSHOBJ *pbo, _Inout_ SURFOBJ *psoTarget, _In_ SURFOBJ *psoPattern, _In_opt_ SURFOBJ *psoMask, _In_ XLATEOBJ *pxlo, _In_ ULONG iHatch)
BOOL APIENTRY DbgDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, LONG x1, LONG y1, LONG x2, LONG y2, RECTL *prclBounds, MIX mix)
BOOL APIENTRY DbgDrvTextOut(SURFOBJ *pso, STROBJ *pstro, FONTOBJ *pfo, CLIPOBJ *pco, RECTL *prclExtra, RECTL *prclOpaque, BRUSHOBJ *pboFore, BRUSHOBJ *pboOpaque, POINTL *pptlOrg, MIX mix)
ULONG APIENTRY DbgDrvResetPDEV(DHPDEV dhpdev, PVOID Reserved)
PVOID APIENTRY DbgDrvQueryFontTree(DHPDEV dhpdev, ULONG_PTR iFile, ULONG iFace, ULONG iMode, ULONG_PTR *pid)
BOOL APIENTRY DbgDrvAlphaBlend(_Inout_ SURFOBJ *psoDest, _In_ SURFOBJ *psoSrc, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _In_ BLENDOBJ *pBlendObj)
HSURF APIENTRY DbgDrvEnableSurface(DHPDEV dhpdev)
ULONG APIENTRY DbgDrvEscape(_In_ SURFOBJ *pso, _In_ ULONG iEsc, _In_ ULONG cjIn, _In_ PVOID pvIn, _In_ ULONG cjOut, _Out_ PVOID pvOut)
BOOL APIENTRY DbgDrvEndDoc(_In_ SURFOBJ *pso, _In_ FLONG fl)
VOID APIENTRY DbgDrvSynchronize(DHPDEV dhpdev, RECTL *prcl)
BOOL APIENTRY DbgDrvStrokeAndFillPath(_Inout_ SURFOBJ *pso, _Inout_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_opt_ XFORMOBJ *pxo, _In_ BRUSHOBJ *pboStroke, _In_ LINEATTRS *plineattrs, _In_ BRUSHOBJ *pboFill, _In_ POINTL *pptlBrushOrg, _In_ MIX mixFill, _In_ FLONG flOptions)
BOOL APIENTRY DbgDrvSendPage(_In_ SURFOBJ *pso)
VOID APIENTRY DbgDrvMovePanning(LONG x, LONG y, FLONG fl)
BOOL APIENTRY DbgDrvQueryDeviceSupport(SURFOBJ *pso, XLATEOBJ *pxlo, XFORMOBJ *pxo, ULONG iType, ULONG cjIn, _In_ PVOID pvIn, ULONG cjOut, _Out_ PVOID pvOut)
ULONG APIENTRY DbgDrvResetDevice(DHPDEV dhpdev, PVOID Reserved)
BOOL APIENTRY DbgDrvQueryAdvanceWidths(DHPDEV dhpdev, FONTOBJ *pfo, ULONG iMode, _In_ HGLYPH *phg, _Out_ PVOID pvWidths, ULONG cGlyphs)
BOOL APIENTRY DbgDrvSwapBuffers(SURFOBJ *pso, WNDOBJ *pwo)
LONG APIENTRY DbgDrvQueryTrueTypeOutline(DHPDEV dhpdev, FONTOBJ *pfo, HGLYPH hglyph, BOOL bMetricsOnly, GLYPHDATA *pgldt, ULONG cjBuf, TTPOLYGONHEADER *ppoly)
LONG APIENTRY DbgDrvDescribePixelFormat(DHPDEV dhpdev, LONG iPixelFormat, ULONG cjpfd, PIXELFORMATDESCRIPTOR *ppfd)
BOOL APIENTRY DbgDrvGetDirectDrawInfo(DHPDEV dhpdev, DD_HALINFO *pHalInfo, DWORD *pdwNumHeaps, VIDEOMEMORY *pvmList, DWORD *pdwNumFourCCCodes, DWORD *pdwFourCC)
BOOL APIENTRY DbgDrvIcmSetDeviceGammaRamp(DHPDEV dhpdev, ULONG iFormat, LPVOID lpRamp)
VOID APIENTRY DbgDrvDisableSurface(DHPDEV dhpdev)
PIFIMETRICS APIENTRY DbgDrvQueryFont(DHPDEV dhpdev, ULONG_PTR iFile, ULONG iFace, ULONG_PTR *pid)
VOID APIENTRY DbgDrvFree(PVOID pv, ULONG_PTR id)
ULONG APIENTRY DbgDrvQueryPerBandInfo(_In_ SURFOBJ *pso, _Inout_ PERBANDINFO *pbi)
ULONG APIENTRY DbgDrvSetPointerShape(_In_ SURFOBJ *pso, _In_ SURFOBJ *psoMask, _In_ SURFOBJ *psoColor, _In_ XLATEOBJ *pxlo, _In_ LONG xHot, _In_ LONG yHot, _In_ LONG x, _In_ LONG y, _In_ RECTL *prcl, _In_ FLONG fl)
VOID APIENTRY DbgDrvDeleteDeviceBitmap(DHSURF dhsurf)
BOOL APIENTRY DbgDrvQuerySpoolType(DHPDEV PDev, LPWSTR SpoolType)
BOOL APIENTRY DbgDrvStrokePath(_Inout_ SURFOBJ *pso, _In_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_opt_ XFORMOBJ *pxo, _In_ BRUSHOBJ *pbo, _In_ POINTL *pptlBrushOrg, _In_ LINEATTRS *plineattrs, _In_ MIX mix)
BOOL APIENTRY DbgDrvSetPalette(DHPDEV dhpdev, PALOBJ *ppalo, FLONG fl, ULONG iStart, ULONG cColors)
ULONG APIENTRY DbgDrvDrawEscape(_In_ SURFOBJ *pso, _In_ ULONG iEsc, _In_ CLIPOBJ *pco, _In_ RECTL *prcl, _In_ ULONG cjIn, _In_ PVOID pvIn)
BOOL APIENTRY DbgDrvNextBand(_In_ SURFOBJ *pso, _In_ POINTL *pptl)
BOOL APIENTRY DbgDrvPlgBlt(_Inout_ SURFOBJ *psoTrg, _Inout_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMsk, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_opt_ COLORADJUSTMENT *pca, _In_opt_ POINTL *pptlBrushOrg, _In_ POINTFIX *pptfx, _In_ RECTL *prcl, _In_opt_ POINTL *pptl, _In_ ULONG iMode)
BOOL APIENTRY DbgDrvStretchBltROP(_Inout_ SURFOBJ *psoTrg, _Inout_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_opt_ COLORADJUSTMENT *pca, _In_ POINTL *pptlHTOrg, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _In_opt_ POINTL *pptlMask, _In_ ULONG iMode, _In_ BRUSHOBJ *pbo, _In_ DWORD rop4)
BOOL APIENTRY DbgDrvStartBanding(_In_ SURFOBJ *pso, _In_ POINTL *pptl)
BOOL APIENTRY DbgDrvBitBlt(_Inout_ SURFOBJ *psoTrg, _In_opt_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_opt_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclTrg, _When_(psoSrc, _In_) POINTL *pptlSrc, _When_(psoMask, _In_) POINTL *pptlMask, _In_opt_ BRUSHOBJ *pbo, _When_(pbo, _In_) POINTL *pptlBrush, _In_ ROP4 rop4)
DHPDEV APIENTRY DbgDrvEnablePDEV(_In_ DEVMODEW *pdm, _In_ LPWSTR pwszLogAddress, ULONG cPat, _In_opt_ HSURF *phsurfPatterns, ULONG cjCaps, _Out_ ULONG *pdevcaps, ULONG cjDevInfo, _Out_ DEVINFO *pdi, HDEV hdev, _In_ LPWSTR pwszDeviceName, HANDLE hDriver)
BOOL APIENTRY DbgDrvOffset(SURFOBJ *pso, LONG x1, LONG x2, FLONG fl)
BOOL APIENTRY DbgDrvUnloadFontFile(ULONG_PTR iFile)
HBITMAP APIENTRY DbgDrvCreateDeviceBitmap(DHPDEV dhpdev, SIZEL sizl, ULONG iFormat)
ULONG APIENTRY DbgDrvDitherColor(_In_ DHPDEV dhpdev, _In_ ULONG iMode, _In_ ULONG rgb, _Inout_ ULONG *pul)
BOOL APIENTRY DbgDrvStretchBlt(_Inout_ SURFOBJ *psoTrg, _Inout_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_opt_ COLORADJUSTMENT *pca, _In_ POINTL *pptlHTOrg, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _In_opt_ POINTL *pptlMask, _In_ ULONG iMode)
VOID APIENTRY DbgGetSynthesizedFontFiles(void)
PVOID apfnDbgDrvFunctions[]
VOID APIENTRY DbgSynthesizeFont(void)
PPDEVOBJ NTAPI DbgLookupDHPDEV(DHPDEV dhpdev)
HANDLE APIENTRY DbgDrvIcmCreateColorTransform(_In_ DHPDEV dhpdev, _In_ LPLOGCOLORSPACEW pLogColorSpace, _In_opt_ PVOID pvSourceProfile, _In_ ULONG cjSourceProfile, _In_ PVOID pvDestProfile, _In_ ULONG cjDestProfile, _In_opt_ PVOID pvTargetProfile, _In_ ULONG cjTargetProfile, _In_ DWORD dwReserved)
VOID DbgDrvReserved(void)
LONG APIENTRY DbgDrvQueryTrueTypeTable(ULONG_PTR iFile, ULONG ulFont, ULONG ulTag, PTRDIFF dpStart, ULONG cjBuf, BYTE *pjBuf, PBYTE *ppjTable, ULONG *pcjTable)
BOOL APIENTRY DbgDrvSetPixelFormat(SURFOBJ *pso, LONG iPixelFormat, HWND hwnd)
HBITMAP APIENTRY DbgDrvDeriveSurface(DD_DIRECTDRAW_GLOBAL *pDirectDraw, DD_SURFACE_LOCAL *pSurface)
BOOL APIENTRY DbgDrvFillPath(_Inout_ SURFOBJ *pso, _In_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_ BRUSHOBJ *pbo, _In_ POINTL *pptlBrushOrg, _In_ MIX mix, _In_ FLONG flOptions)
PVOID APIENTRY DbgDrvGetTrueTypeFile(ULONG_PTR iFile, ULONG *pcj)
ULONG APIENTRY DbgDrvFontManagement(_In_ SURFOBJ *pso, _In_opt_ FONTOBJ *pfo, _In_ ULONG iMode, _In_ ULONG cjIn, _In_ PVOID pvIn, _In_ ULONG cjOut, _Out_ PVOID pvOut)
BOOL APIENTRY DbgDrvStartPage(_In_ SURFOBJ *pso)
VOID APIENTRY DbgDrvDestroyFont(FONTOBJ *pfo)
BOOL APIENTRY DbgDrvEnableDirectDraw(DHPDEV dhpdev, DD_CALLBACKS *pCallBacks, DD_SURFACECALLBACKS *pSurfaceCallBacks, DD_PALETTECALLBACKS *pPaletteCallBacks)
BOOL APIENTRY DbgDrvGradientFill(_Inout_ SURFOBJ *psoTrg, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ TRIVERTEX *pVertex, _In_ ULONG nVertex, _In_ PVOID pMesh, _In_ ULONG nMesh, _In_ RECTL *prclExtents, _In_ POINTL *pptlDitherOrg, _In_ ULONG ulMode)
BOOL APIENTRY DbgDrvTransparentBlt(_Inout_ SURFOBJ *psoTrg, _In_ SURFOBJ *psoSrc, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclDst, _In_ RECTL *prclSrc, _In_ ULONG iTransColor, _In_ ULONG ulReserved)
BOOL APIENTRY DbgDrvAssertMode(_In_ DHPDEV dhpdev, _In_ BOOL bEnable)
LONG APIENTRY DbgDrvQueryFontData(DHPDEV dhpdev, FONTOBJ *pfo, ULONG iMode, HGLYPH hg, GLYPHDATA *pgd, _Out_ PVOID pv, ULONG cjSize)
VOID APIENTRY DbgDrvDisableDirectDraw(DHPDEV dhpdev)
BOOL APIENTRY DbgDrvStartDoc(_In_ SURFOBJ *pso, _In_ LPWSTR pwszDocName, _In_ DWORD dwJobId)
ULONG_PTR APIENTRY DbgDrvSaveScreenBits(SURFOBJ *pso, ULONG iMode, ULONG_PTR ident, RECTL *prcl)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
#define ROP4_USES_PATTERN(Rop4)
#define ROP4_USES_MASK(Rop4)
#define IS_VALID_ROP4(rop)
#define ROP4_USES_SOURCE(Rop4)
struct _PDEVOBJ * PPDEVOBJ
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define CONTAINING_RECORD(address, type, field)
FORCEINLINE BOOL RECTL_bIsWellOrdered(_In_ const RECTL *prcl)
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL * prclExtra
_In_ LPWSTR _In_ DWORD dwJobId
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJ * pboFore
_In_ ULONG _In_ ULONG _In_ PTRDIFF _In_ ULONG _Outptr_opt_result_bytebuffer_all_maybenull_ pcjTable PBYTE * ppjTable
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ ULONG iTransColor
_In_ FONTOBJ _In_ ULONG _In_ HGLYPH _In_opt_ GLYPHDATA * pgd
_In_ ULONG _In_ ULONG _In_ PTRDIFF dpStart
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG cjDevInfo
_Inout_ SURFOBJ _In_opt_ SURFOBJ * psoPattern
_Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRS _In_ BRUSHOBJ _In_ POINTL _In_ MIX mixFill
_Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ * pboStroke
_In_ LPLOGCOLORSPACEW _In_ ULONG _In_ ULONG cjDestProfile
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL _In_ MIX _In_ FLONG flOptions
typedef DHPDEV(APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG ulLangID
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL _In_ MIX mix
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
_In_ LPLOGCOLORSPACEW pLogColorSpace
_In_ HANDLE _In_ SURFOBJ * pso
_In_ FONTOBJ _In_ HGLYPH _In_ BOOL _Out_opt_ GLYPHDATA * pgldt
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO * pdi
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID pMesh
_In_ ULONG _In_ ULONG ulTag
_In_ DD_SURFACE_LOCAL * pSurface
_Inout_ SURFOBJ * psoTarget
_In_ ULONG _In_ ULONG _In_ PTRDIFF _In_ ULONG _Outptr_opt_result_bytebuffer_all_maybenull_ pcjTable PBYTE _Out_opt_ ULONG * pcjTable
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG xHot
_In_ ULONG_PTR _In_ ULONG iFace
_In_ LPLOGCOLORSPACEW _In_ ULONG _In_ ULONG _In_ ULONG cjTargetProfile
_Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT * pca
_Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRS _In_ BRUSHOBJ * pboFill
_In_ FONTOBJ _In_ HGLYPH hglyph
_In_ ULONG _In_ ULONG rgb
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
_In_ FONTOBJ _In_ HGLYPH _In_ BOOL bMetricsOnly
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL * prclTrg
_In_ LPWSTR pwszLogAddress
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG _In_ LONG yHot
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL * pptlDitherOrg
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL * prclDst
_Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY _Out_ DWORD _Out_ DWORD * pdwFourCC
_In_ ULONG _In_ ULONG_PTR ident
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ _In_opt_ POINTL _In_ ROP4 rop4
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL * prclSrc
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ _In_opt_ POINTL * pptlBrush
_Inout_ PERBANDINFO * pbi
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG nVertex
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ * pxlo
_In_opt_ SURFOBJ _In_opt_ SURFOBJ * psoMask
_Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT _In_opt_ POINTL _In_ POINTFIX * pptfx
_Inout_ SURFOBJ _In_opt_ SURFOBJ * psoMsk
_In_ LPWSTR _In_ ULONG _In_ ULONG cjCaps
_In_ LPWSTR _In_ ULONG cPat
_Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY _Out_ DWORD * pdwNumFourCCCodes
_Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT _In_ POINTL * pptlHTOrg
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL * pptlSrc
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJ _In_ BRUSHOBJ * pboOpaque
_In_ LPLOGCOLORSPACEW _In_ ULONG cjSourceProfile
_In_ HANDLE hColorTransform
_In_opt_ SURFOBJ _In_opt_ SURFOBJ * psoColor
_In_ ULONG _In_ ULONG _In_ ULONG cjOut
_Out_ DD_HALINFO _Out_ DWORD * pdwNumHeaps
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
_In_ FONTOBJ _In_ ULONG _In_ ULONG cGlyphs
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ ULONG _In_ ULONG ulReserved
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ * pbo
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL * prclExtents
_Out_ DD_HALINFO * pHalInfo
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL _In_ ULONG ulMode
_Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRS * plineattrs
_Out_ DD_CALLBACKS _Out_ DD_SURFACECALLBACKS * pSurfaceCallBacks
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR * pdv
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL * pptlMask
_Inout_ SURFOBJ _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_opt_ XLATEOBJ _In_ ULONG iHatch
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL * pptlBrushOrg
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG _In_ ULONG ulFastCheckSum
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
_In_ LONG _In_ ULONG cjpfd
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX * pVertex
_Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY * pvmList
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL * prclOpaque
_In_ XLATEOBJ _In_ XFORMOBJ * pxo
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
_In_ LONG _In_ ULONG _Out_opt_ PIXELFORMATDESCRIPTOR * ppfd
_Out_ DD_CALLBACKS * pCallBacks
_Out_ DD_CALLBACKS _Out_ DD_SURFACECALLBACKS _Out_ DD_PALETTECALLBACKS * pPaletteCallBacks
_In_ SIZEL _In_ ULONG iFormat
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ BLENDOBJ * pBlendObj
_In_ ULONG _In_opt_ PVOID pvData
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL * prclDest
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJ _In_ BRUSHOBJ _In_ POINTL * pptlOrg
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG _In_opt_ RECTL * prclBounds
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG nMesh
_Reserved_ PVOID Reserved
_In_ ULONG _In_ CLIPOBJ _In_ RECTL _In_ ULONG cjIn
_In_ FONTOBJ _In_ ULONG _In_ HGLYPH hg
_In_ SURFOBJ _In_ CLIPOBJ * pco