📄 printoem.h
字号:
RECTL *prclSrc,
BLENDOBJ *pBlendObj
);
//
// OEMGradientFill
//
BOOL APIENTRY
OEMGradientFill(
SURFOBJ *psoDest,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
TRIVERTEX *pVertex,
ULONG nVertex,
PVOID pMesh,
ULONG nMesh,
RECTL *prclExtents,
POINTL *pptlDitherOrg,
ULONG ulMode
);
//
// OEMIcmCreateTransform
//
HANDLE APIENTRY
OEMIcmCreateColorTransform(
DHPDEV dhpdev,
LPLOGCOLORSPACEW pLogColorSpace,
PVOID pvSourceProfile,
ULONG cjSourceProfile,
PVOID pvDestProfile,
ULONG cjDestProfile,
PVOID pvTargetProfile,
ULONG cjTargetProfile,
DWORD dwReserved
);
//
// OEMIcmDeleteTransform
//
BOOL APIENTRY
OEMIcmDeleteColorTransform(
DHPDEV dhpdev,
HANDLE hcmXform
);
//
// OEMQueryDeviceSupport
//
BOOL APIENTRY
OEMQueryDeviceSupport(
SURFOBJ *pso,
XLATEOBJ *pxlo,
XFORMOBJ *pxo,
ULONG iType,
ULONG cjIn,
PVOID pvIn,
ULONG cjOut,
PVOID pvOut
);
//
// OEMTransparentBlt
//
BOOL APIENTRY
OEMTransparentBlt(
SURFOBJ *psoDst,
SURFOBJ *psoSrc,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
RECTL *prclDst,
RECTL *prclSrc,
ULONG iTransColor,
ULONG ulReserved
);
#endif // !WINNT_40
//
// Function prototype define's for the driver hooks.
//
// NOTE: These are only needed for NT4. For NT5, they are defined in winddi.h.
//
#ifdef WINNT_40
typedef BOOL (APIENTRY *LPFNDLLINITIALIZE)(
ULONG ulReason
);
typedef BOOL (APIENTRY *PFN_DrvBitBlt)(
SURFOBJ *psoTrg,
SURFOBJ *psoSrc,
SURFOBJ *psoMask,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
RECTL *prclTrg,
POINTL *pptlSrc,
POINTL *pptlMask,
BRUSHOBJ *pbo,
POINTL *pptlBrush,
ROP4 rop4
);
typedef BOOL (APIENTRY *PFN_DrvStretchBlt)(
SURFOBJ *psoDest,
SURFOBJ *psoSrc,
SURFOBJ *psoMask,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
COLORADJUSTMENT *pca,
POINTL *pptlHTOrg,
RECTL *prclDest,
RECTL *prclSrc,
POINTL *pptlMask,
ULONG iMode
);
typedef BOOL (APIENTRY *PFN_DrvCopyBits)(
SURFOBJ *psoDest,
SURFOBJ *psoSrc,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
RECTL *prclDest,
POINTL *pptlSrc
);
typedef BOOL (APIENTRY *PFN_DrvTextOut)(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlOrg,
MIX mix
);
typedef BOOL (APIENTRY *PFN_DrvStrokePath)(
SURFOBJ *pso,
PATHOBJ *ppo,
CLIPOBJ *pco,
XFORMOBJ *pxo,
BRUSHOBJ *pbo,
POINTL *pptlBrushOrg,
LINEATTRS *plineattrs,
MIX mix
);
typedef BOOL (APIENTRY *PFN_DrvFillPath)(
SURFOBJ *pso,
PATHOBJ *ppo,
CLIPOBJ *pco,
BRUSHOBJ *pbo,
POINTL *pptlBrushOrg,
MIX mix,
FLONG flOptions
);
typedef BOOL (APIENTRY *PFN_DrvStrokeAndFillPath)(
SURFOBJ *pso,
PATHOBJ *ppo,
CLIPOBJ *pco,
XFORMOBJ *pxo,
BRUSHOBJ *pboStroke,
LINEATTRS *plineattrs,
BRUSHOBJ *pboFill,
POINTL *pptlBrushOrg,
MIX mixFill,
FLONG flOptions
);
typedef BOOL (APIENTRY *PFN_DrvRealizeBrush)(
BRUSHOBJ *pbo,
SURFOBJ *psoTarget,
SURFOBJ *psoPattern,
SURFOBJ *psoMask,
XLATEOBJ *pxlo,
ULONG iHatch
);
typedef BOOL (APIENTRY *PFN_DrvStartPage)(
SURFOBJ *pso
);
typedef BOOL (APIENTRY *PFN_DrvSendPage)(
SURFOBJ *pso
);
typedef ULONG (APIENTRY *PFN_DrvEscape)(
SURFOBJ *pso,
ULONG iEsc,
ULONG cjIn,
PVOID pvIn,
ULONG cjOut,
PVOID pvOut
);
typedef BOOL (APIENTRY *PFN_DrvStartDoc)(
SURFOBJ *pso,
PWSTR pwszDocName,
DWORD dwJobId
);
typedef BOOL (APIENTRY *PFN_DrvEndDoc)(
SURFOBJ *pso,
FLONG fl
);
typedef PIFIMETRICS (APIENTRY *PFN_DrvQueryFont)(
DHPDEV dhpdev,
ULONG_PTR iFile,
ULONG iFace,
ULONG *pid
);
typedef PVOID (APIENTRY *PFN_DrvQueryFontTree)(
DHPDEV dhpdev,
ULONG_PTR iFile,
ULONG iFace,
ULONG iMode,
ULONG *pid
);
typedef LONG (APIENTRY *PFN_DrvQueryFontData)(
DHPDEV dhpdev,
FONTOBJ *pfo,
ULONG iMode,
HGLYPH hg,
GLYPHDATA *pgd,
PVOID pv,
ULONG cjSize
);
typedef BOOL (APIENTRY *PFN_DrvQueryAdvanceWidths)(
DHPDEV dhpdev,
FONTOBJ *pfo,
ULONG iMode,
HGLYPH *phg,
PVOID pvWidths,
ULONG cGlyphs
);
typedef ULONG (APIENTRY *PFN_DrvFontManagement)(
SURFOBJ *pso,
FONTOBJ *pfo,
ULONG iMode,
ULONG cjIn,
PVOID pvIn,
ULONG cjOut,
PVOID pvOut
);
typedef ULONG (APIENTRY *PFN_DrvGetGlyphMode)(
DHPDEV dhpdev,
FONTOBJ *pfo
);
typedef BOOL (APIENTRY *PFN_DrvNextBand)(
SURFOBJ *pso,
POINTL *pptl
);
typedef BOOL (APIENTRY *PFN_DrvStartBanding)(
SURFOBJ *pso,
POINTL *pptl
);
typedef ULONG (APIENTRY *PFN_DrvDitherColor)(
DHPDEV dhpdev,
ULONG iMode,
ULONG rgbColor,
ULONG *pulDither
);
typedef BOOL (APIENTRY *PFN_DrvPaint)(
SURFOBJ *pso,
CLIPOBJ *pco,
BRUSHOBJ *pbo,
POINTL *pptlBrushOrg,
MIX mix
);
typedef BOOL (APIENTRY *PFN_DrvLineTo)(
SURFOBJ *pso,
CLIPOBJ *pco,
BRUSHOBJ *pbo,
LONG x1,
LONG y1,
LONG x2,
LONG y2,
RECTL *prclBounds,
MIX mix
);
#endif // WINNT_40
#endif // KERNEL_MODE
/*******************************************************************************
*
* Definitions used by user-mode UI module only:
* Make sure the macro KERNEL_MODE is NOT defined and
* the header file winddiui.h is included before this file.
*
*/
#ifndef KERNEL_MODE
//
// Reference to driver data structure. This is passed to
// most of the OEM UI DLL entrypoints.
//
typedef struct _OEMUIPROCS {
PFN_DrvGetDriverSetting DrvGetDriverSetting;
PFN_DrvUpdateUISetting DrvUpdateUISetting;
} OEMUIPROCS, *POEMUIPROCS;
typedef struct _OEMUIOBJ {
DWORD cbSize; // size of this structure
POEMUIPROCS pOemUIProcs; // pointer to user mode helper function table
} OEMUIOBJ, *POEMUIOBJ;
//
// OEMCommonUIProp
//
typedef struct _OEMCUIPPARAM *POEMCUIPPARAM;
typedef LONG (APIENTRY *OEMCUIPCALLBACK)(PCPSUICBPARAM, POEMCUIPPARAM);
typedef struct _OEMCUIPPARAM {
DWORD cbSize; // size of this structure
POEMUIOBJ poemuiobj; // reference to driver data structure
HANDLE hPrinter; // handle to the current printer
PWSTR pPrinterName; // name of current printer
HANDLE hModule; // instance handle to OEM DLL
HANDLE hOEMHeap; // handle to the OEM memory heap
PDEVMODE pPublicDM; // public devmode
PVOID pOEMDM; // OEM private devmode
DWORD dwFlags; // misc. flag bits
POPTITEM pDrvOptItems; // pointer to driver items
DWORD cDrvOptItems; // number of driver items
POPTITEM pOEMOptItems; // pointer to OEM items
DWORD cOEMOptItems; // number of OEM items
PVOID pOEMUserData; // pointer to OEM private data
OEMCUIPCALLBACK OEMCUIPCallback; // address of callback function
} OEMCUIPPARAM;
BOOL APIENTRY
OEMCommonUIProp(
DWORD dwMode,
POEMCUIPPARAM pOemCUIPParam
);
//
// OEMCommonUIProp dwMode parameter value
//
#define OEMCUIP_DOCPROP 1
#define OEMCUIP_PRNPROP 2
//
// OEMDocumentPropertySheets
//
LRESULT APIENTRY
OEMDocumentPropertySheets(
PPROPSHEETUI_INFO pPSUIInfo,
LPARAM lParam
);
//
// OEMDevicePropertySheets
//
LRESULT APIENTRY
OEMDevicePropertySheets(
PPROPSHEETUI_INFO pPSUIInfo,
LPARAM lParam
);
//
// pPSUIInfo->lParamInit is a pointer to _OEMUIPSPARAM structure defined below.
//
typedef struct _OEMUIPSPARAM {
DWORD cbSize; // size of this structure
POEMUIOBJ poemuiobj; // reference to driver data structure
HANDLE hPrinter; // handle to the current printer
PWSTR pPrinterName; // name of current printer
HANDLE hModule; // instance handle to OEM DLL
HANDLE hOEMHeap; // handle to the OEM memory heap
PDEVMODE pPublicDM; // public devmode
PVOID pOEMDM; // OEM private devmode
PVOID pOEMUserData; // pointer to OEM private data
DWORD dwFlags; // misc. flag bits
PVOID pOemEntry;
} OEMUIPSPARAM, *POEMUIPSPARAM;
//
// OEMDevQueryPrintEx
//
BOOL APIENTRY
OEMDevQueryPrintEx(
POEMUIOBJ poemuiobj,
PDEVQUERYPRINT_INFO pDQPInfo,
PDEVMODE pPublicDM,
PVOID pOEMDM
);
//
// OEMDeviceCapabilities
//
DWORD APIENTRY
OEMDeviceCapabilities(
POEMUIOBJ poemuiobj,
HANDLE hPrinter,
PWSTR pDeviceName,
WORD wCapability,
PVOID pOutput,
PDEVMODE pPublicDM,
PVOID pOEMDM,
DWORD dwLastResult
);
//
// OEMUpgradePrinter
//
BOOL APIENTRY
OEMUpgradePrinter(
DWORD dwLevel,
PBYTE pDriverUpgradeInfo
);
//
// OEMUpgradeRegistry
//
BOOL APIENTRY
OEMUpgradeRegistry(
DWORD dwLevel,
PBYTE pDriverUpgradeInfo,
PFN_DrvUpgradeRegistrySetting pfnUpgrade
);
//
// OEMPrinterEvent
//
BOOL APIENTRY
OEMPrinterEvent(
PWSTR pPrinterName,
INT iDriverEvent,
DWORD dwFlags,
LPARAM lParam
);
//
// OEMDriverEvent
//
BOOL APIENTRY
OEMPDriverEvent(
DWORD dwDriverEvent,
DWORD dwLevel,
LPBYTE pDriverInfo,
LPARAM lParam
);
//
// OEMQueryColorProfile
//
BOOL APIENTRY
OEMQueryColorProfile(
HANDLE hPrinter,
POEMUIOBJ poemuiobj,
PDEVMODE pPublicDM,
PVOID pOEMDM,
ULONG ulQueryMode,
VOID *pvProfileData,
ULONG *pcbProfileData,
FLONG *pflProfileData
);
//
// Font Installer dialog proc
//
INT_PTR CALLBACK
OEMFontInstallerDlgProc(
HWND hWnd,
UINT usMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL CALLBACK
OEMUpdateExternalFonts(
HANDLE hPrinter,
HANDLE hHeap,
PWSTR pwstrCartridges
);
#endif // !KERNEL_MODE
#ifdef __cplusplus
}
#endif
#endif // !_PRINTOEM_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -