Leaked source code of windows server 2003
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.
 
 
 
 
 
 

197 lines
4.2 KiB

/*++
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;
};