📄 prcomoem.h
字号:
STDMETHOD(GetInfo) (THIS_ DWORD dwMode,
PVOID pBuffer,
DWORD cbSize,
PDWORD pcbNeeded) PURE;
//
// Method for OEM private devmode handling
//
STDMETHOD(DevMode) (THIS_ DWORD dwMode,
POEMDMPARAM pOemDMParam) PURE;
//
// IPrintOemUI methods
//
//
// Method for publishing Driver interface.
//
STDMETHOD(PublishDriverInterface) (THIS_ IUnknown *pIUnknown) PURE;
//
// CommonUIProp
//
STDMETHOD(CommonUIProp) (THIS_
DWORD dwMode,
POEMCUIPPARAM pOemCUIPParam
)PURE;
//
// DocumentPropertySheets
//
STDMETHOD(DocumentPropertySheets) (THIS_
PPROPSHEETUI_INFO pPSUIInfo,
LPARAM lParam
)PURE;
//
// DevicePropertySheets
//
STDMETHOD(DevicePropertySheets) (THIS_
PPROPSHEETUI_INFO pPSUIInfo,
LPARAM lParam
)PURE;
//
// DevQueryPrintEx
//
STDMETHOD(DevQueryPrintEx) (THIS_
POEMUIOBJ poemuiobj,
PDEVQUERYPRINT_INFO pDQPInfo,
PDEVMODE pPublicDM,
PVOID pOEMDM
)PURE;
//
// DeviceCapabilities
//
STDMETHOD(DeviceCapabilities) (THIS_
POEMUIOBJ poemuiobj,
HANDLE hPrinter,
PWSTR pDeviceName,
WORD wCapability,
PVOID pOutput,
PDEVMODE pPublicDM,
PVOID pOEMDM,
DWORD dwOld,
DWORD *dwResult
)PURE;
//
// UpgradePrinter
//
STDMETHOD(UpgradePrinter) (THIS_
DWORD dwLevel,
PBYTE pDriverUpgradeInfo
)PURE;
//
// PrinterEvent
//
STDMETHOD(PrinterEvent) (THIS_
PWSTR pPrinterName,
INT iDriverEvent,
DWORD dwFlags,
LPARAM lParam
)PURE;
//
// DriverEvent
//
STDMETHOD(DriverEvent) (THIS_
DWORD dwDriverEvent,
DWORD dwLevel,
LPBYTE pDriverInfo,
LPARAM lParam
)PURE;
//
// QueryColorProfile
//
STDMETHOD(QueryColorProfile) (THIS_
HANDLE hPrinter,
POEMUIOBJ poemuiobj,
PDEVMODE pPublicDM,
PVOID pOEMDM,
ULONG ulQueryMode,
VOID *pvProfileData,
ULONG *pcbProfileData,
FLONG *pflProfileData
)PURE;
//
// FontInstallerDlgProc
//
STDMETHOD(FontInstallerDlgProc) (THIS_
HWND hWnd,
UINT usMsg,
WPARAM wParam,
LPARAM lParam
)PURE;
//
// UpdateExternalFonts
//
STDMETHOD(UpdateExternalFonts) (THIS_
HANDLE hPrinter,
HANDLE hHeap,
PWSTR pwstrCartridges
)PURE;
//
// IPrintOemUI2 methods
//
//
// QueryJobAttributes
//
STDMETHOD(QueryJobAttributes) (THIS_
HANDLE hPrinter,
PDEVMODE pDevmode,
DWORD dwLevel,
LPBYTE lpAttributeInfo
)PURE;
//
// Hide Standard UI
//
STDMETHOD(HideStandardUI) (THIS_
DWORD dwMode
)PURE;
//
// DocumentEvent
//
STDMETHOD(DocumentEvent) (THIS_
HANDLE hPrinter,
HDC hdc,
INT iEsc,
ULONG cbIn,
PVOID pvIn,
ULONG cbOut,
PVOID pvOut,
PINT piResult
)PURE;
};
//
//****************************************************************************
// IPrintOemDriverUI interface
//****************************************************************************
//
#undef INTERFACE
#define INTERFACE IPrintOemDriverUI
DECLARE_INTERFACE_(IPrintOemDriverUI, IUnknown)
{
//
// IUnknown methods
//
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj)PURE;
STDMETHOD_(ULONG, AddRef) (THIS)PURE;
STDMETHOD_(ULONG, Release) (THIS)PURE;
//
// IPrintOemDriverUI methods
//
//
// Helper function to get driver settings
//
STDMETHOD(DrvGetDriverSetting) (THIS_
PVOID pci,
PCSTR Feature,
PVOID pOutput,
DWORD cbSize,
PDWORD pcbNeeded,
PDWORD pdwOptionsReturned
)PURE;
//
// Helper function to allow OEM plugins upgrade private registry
// settings. This function should be called only by OEM's UpgradePrinter()
//
STDMETHOD(DrvUpgradeRegistrySetting) (THIS_
HANDLE hPrinter,
PCSTR pFeature,
PCSTR pOption
)PURE;
//
// Helper function to allow OEM plugins to update the driver UI
// settings and show constraints. This function should be called only when
// the UI is present.
//
STDMETHOD(DrvUpdateUISetting) (THIS_
PVOID pci,
PVOID pOptItem,
DWORD dwPreviousSelection,
DWORD dwMode
)PURE;
};
//
//****************************************************************************
// IPrintCoreUI2 interface
//
// This is the revised core driver helper interface OEM UI plugin can call.
// It supercedes the old helper interface IPrintOemDriverUI.
//****************************************************************************
//
#undef INTERFACE
#define INTERFACE IPrintCoreUI2
DECLARE_INTERFACE_(IPrintCoreUI2, IPrintOemDriverUI)
{
//
// IUnknown methods
//
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj)PURE;
STDMETHOD_(ULONG, AddRef) (THIS)PURE;
STDMETHOD_(ULONG, Release) (THIS)PURE;
//
// IPrintOemDriverUI methods
//
//
// Helper function to get driver settings. This function is only supported
// for UI plugins that do not fully replace core driver's standard UI.
//
STDMETHOD(DrvGetDriverSetting) (THIS_
PVOID pci,
PCSTR Feature,
PVOID pOutput,
DWORD cbSize,
PDWORD pcbNeeded,
PDWORD pdwOptionsReturned
)PURE;
//
// Helper function to allow OEM plugins upgrade private registry
// settings. This function is supported for any UI plugins and should be
// called only by OEM's UpgradePrinter.
//
STDMETHOD(DrvUpgradeRegistrySetting) (THIS_
HANDLE hPrinter,
PCSTR pFeature,
PCSTR pOption
)PURE;
//
// Helper function to allow OEM plugins to update the driver UI settings.
// This function is only supported for UI plugins that do not fully replace
// core driver's standard UI. It should be called only when the UI is present.
//
STDMETHOD(DrvUpdateUISetting) (THIS_
PVOID pci,
PVOID pOptItem,
DWORD dwPreviousSelection,
DWORD dwMode
)PURE;
//
// IPrintCoreUI2 new methods
//
//
// Following four helper functions are only supported for UI plugins that fully
// replace core driver's standard UI. They should only be called by the UI plugin's
// DocumentPropertySheets, DevicePropertySheets and their property sheet callback
// functions.
//
// Helper function to retrieve driver's current setting as a list of
// feature/option keyword pairs.
//
STDMETHOD(GetOptions) (THIS_
IN POEMUIOBJ poemuiobj,
IN DWORD dwFlags,
IN PCSTR pmszFeaturesRequested,
IN DWORD cbIn,
OUT PSTR pmszFeatureOptionBuf,
IN DWORD cbSize,
OUT PDWORD pcbNeeded) PURE;
//
// Helper function to change driver's setting using a list of feature/option
// keyword pairs.
//
STDMETHOD(SetOptions) (THIS_
IN POEMUIOBJ poemuiobj,
IN DWORD dwFlags,
IN PCSTR pmszFeatureOptionBuf,
IN DWORD cbIn,
OUT PDWORD pdwResult) PURE;
//
// Helper function to retrieve the option(s) of a given feature that are
// constrained in driver's current setting.
//
STDMETHOD(EnumConstrainedOptions) (THIS_
IN POEMUIOBJ poemuiobj,
IN DWORD dwFlags,
IN PCSTR pszFeatureKeyword,
OUT PSTR pmszConstrainedOptionList,
IN DWORD cbSize,
OUT PDWORD pcbNeeded) PURE;
//
// Helper function to retrieve a list of feature/option keyword pairs from
// driver's current setting that conflict with the given feature/option pair.
//
STDMETHOD(WhyConstrained) (THIS_
IN POEMUIOBJ poemuiobj,
IN DWORD dwFlags,
IN PCSTR pszFeatureKeyword,
IN PCSTR pszOptionKeyword,
OUT PSTR pmszReasonList,
IN DWORD cbSize,
OUT PDWORD pcbNeeded) PURE;
//
// Following five helper functions are supported for any UI plugins.
//
// Helper function to retrieve global attribute.
//
STDMETHOD(GetGlobalAttribute) (THIS_
IN POEMUIOBJ poemuiobj,
IN DWORD dwFlags,
IN PCSTR pszAttribute,
OUT PDWORD pdwDataType,
OUT PBYTE pbData,
IN DWORD cbSize,
OUT PDWORD pcbNeeded) PURE;
//
// Helper function to retrieve attribute of a given feature.
//
STDMETHOD(GetFeatureAttribute) (THIS_
IN POEMUIOBJ poemuiobj,
IN DWORD dwFlags,
IN PCSTR pszFeatureKeyword,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -