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.
 
 
 
 
 
 

237 lines
5.4 KiB

// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
//
// FILE: Intrface.cpp
//
//
// PURPOSE: Header of interface for PScript4, PScript5, Unidrv4,
// Unidrv5 UI plug-ins.
//
//
// Functions:
//
//
//
//
// PLATFORMS: Windows 2000, Windows XP, Windows Server 2003
//
//
#ifndef _INTRFACE_H
#define _INTRFACE_H
#include "precomp.h"
#include "helper.h"
#include "features.h"
////////////////////////////////////////////////////////////////////////////////
//
// IOemUI2
//
class IOemUI2: public IPrintOemUI2
{
public:
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
STDMETHOD_(ULONG,AddRef) (THIS);
STDMETHOD_(ULONG,Release) (THIS);
//
// Get OEM dll related information
//
STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
PDWORD pcbNeeded);
//
// OEMDevMode
//
STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
//
// Method for publishing Driver interface.
//
STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
//
// 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
);
//
// IPrintOemUI2 methods
//
//
// QueryJobAttributes
//
STDMETHOD(QueryJobAttributes) (THIS_
HANDLE hPrinter,
PDEVMODE pDevmode,
DWORD dwLevel,
LPBYTE lpAttributeInfo
);
//
// Hide Standard UI
//
STDMETHOD(HideStandardUI) (THIS_
DWORD dwMode
);
//
// DocumentEvent
//
STDMETHOD(DocumentEvent) (THIS_
HANDLE hPrinter,
HDC hdc,
INT iEsc,
ULONG cbIn,
PVOID pbIn,
ULONG cbOut,
PVOID pbOut,
PINT piResult
);
IOemUI2();
virtual ~IOemUI2();
protected:
LONG m_cRef; // Reference count
BOOL m_bHidingStandardUI; // Flag indicating if we are hiding the Standard UI.
// NOTE: Not all Driver UI versions support hinding
// the Standard Driver UI.
CUIHelper m_Helper; // Container for Driver UI Helper interface.
CFeatures m_Features; // Core Driver features and feature options.
};
#endif