/*++ Copyright (c) 1996-2003 Microsoft Corporation Module Name: comoem.h Abstract: Implementation of OEMGetInfo and OEMDevMode. Shared by all Unidrv OEM test dll's. Environment: Windows 2000, Windows XP, Windows Server 2003 Revision History: Created it. --*/ //////////////////////////////////////////////////////////////////////////////// // // IOemUI // class IOemUI: public IPrintOemUI { public: // *** IUnknown methods *** STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); STDMETHOD_(ULONG,AddRef) (THIS); STDMETHOD_(ULONG,Release) (THIS); // // Method for publishing Driver interface. // STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); // // Get OEM dll related information // STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, PDWORD pcbNeeded); // // OEMDevMode // STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; // // OEMCommonUIProp // STDMETHOD(CommonUIProp) (THIS_ DWORD dwMode, POEMCUIPPARAM pOemCUIPParam ); // // OEMDocumentPropertySheets // STDMETHOD(DocumentPropertySheets) (THIS_ PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam ); // // OEMDevicePropertySheets // STDMETHOD(DevicePropertySheets) (THIS_ PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam ); // // OEMDevQueryPrintEx // STDMETHOD(DevQueryPrintEx) (THIS_ POEMUIOBJ poemuiobj, PDEVQUERYPRINT_INFO pDQPInfo, PDEVMODE pPublicDM, PVOID pOEMDM ); // // OEMDeviceCapabilities // STDMETHOD(DeviceCapabilities) (THIS_ POEMUIOBJ poemuiobj, HANDLE hPrinter, PWSTR pDeviceName, WORD wCapability, PVOID pOutput, PDEVMODE pPublicDM, PVOID pOEMDM, DWORD dwOld, DWORD *dwResult ); // // OEMUpgradePrinter // STDMETHOD(UpgradePrinter) (THIS_ DWORD dwLevel, PBYTE pDriverUpgradeInfo ); // // OEMPrinterEvent // STDMETHOD(PrinterEvent) (THIS_ PWSTR pPrinterName, INT iDriverEvent, DWORD dwFlags, LPARAM lParam ); // // OEMDriverEvent // STDMETHOD(DriverEvent)(THIS_ DWORD dwDriverEvent, DWORD dwLevel, LPBYTE pDriverInfo, LPARAM lParam ); // // OEMQueryColorProfile // STDMETHOD( QueryColorProfile) (THIS_ HANDLE hPrinter, POEMUIOBJ poemuiobj, PDEVMODE pPublicDM, PVOID pOEMDM, ULONG ulReserved, VOID *pvProfileData, ULONG *pcbProfileData, FLONG *pflProfileData); // // OEMFontInstallerDlgProc // STDMETHOD(FontInstallerDlgProc) (THIS_ HWND hWnd, UINT usMsg, WPARAM wParam, LPARAM lParam ); // // UpdateExternalFonts // STDMETHOD(UpdateExternalFonts) (THIS_ HANDLE hPrinter, HANDLE hHeap, PWSTR pwstrCartridges ); IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; m_OemSheetData.pfnComPropSheet = NULL; m_OemSheetData.pOEMCUIParam=NULL; m_OemSheetData.hComPropSheet=INVALID_HANDLE_VALUE; m_OemSheetData.hmyPlugin=INVALID_HANDLE_VALUE; }; ~IOemUI(); protected: LONG m_cRef; IPrintOemDriverUI* m_pOEMHelp; // //Used to link common ui in device settings tab and the OEM plugin tab. // OEMSHEETDATA m_OemSheetData; };