diff options
Diffstat (limited to 'print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp')
| -rw-r--r-- | print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp | 559 |
1 files changed, 0 insertions, 559 deletions
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp deleted file mode 100644 index d399712d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp +++ /dev/null @@ -1,559 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// 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 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// PURPOSE: Generic abstract base class useful for creating implementation -// of interface for Unidrv5 UI plug-ins. This base class -// implements all methods which have a standard implementation -// and / or are optional. Non-optional mathods are pure virtual -// in this base class. -// -//-------------------------------------------------------------------------- - -#include "precomp.h" - -#include "debug.h" -#include "devmode.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::QueryInterface -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::QueryInterface( - CONST IID& iid, - VOID** ppv - ) -{ - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - } - else if (iid == IID_IPrintOemUI2) - { - *ppv = static_cast<IPrintOemUI2*>(this); - } - else - { - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::AddRef -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -ULONG __stdcall -CAbstractOemUI2::AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::Release -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -CAbstractOemUI2::Release() -{ - ASSERT(0 != m_cRef); - - ULONG cRef = InterlockedDecrement(&m_cRef); - - if (0 == cRef) - { - delete this; - return 0; - - } - - return cRef; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::HideStandardUI -// -// Synopsis: -// This routine is critical to supporting full UI replacement. This -// routine allows the plug-in to disable Unidrv's (or PScript's) standard -// UI panels. If this returns E_NOTIMPL, the panel isn't hidden. If -// this routine returns S_OK, Unidrv will not display any UI for the -// specified mode. If this returns E_NOTIMPL, Unidrv will display it's -// standard UI. -// -// Returns: -// S_OK to hide the indicated UI if desired, otherwise E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::HideStandardUI( - DWORD dwMode - // document property sheets, printer property sheets, or possibly - // something not yet defined. - ) -{ - UNREFERENCED_PARAMETER(dwMode); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DocumentPropertySheets -// -// Synopsis: -// A plug-in may optionally add property sheets. If the plug-in has -// chosen to hide the standard UI, then it would instead provide -// replacements for the standard property sheets. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DevicePropertySheets -// -// Synopsis: -// A plug-in may optionally add property sheets. If the plug-in has -// chosen to hide the standard UI, then it would instead provide -// replacements for the standard property sheets. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::CommonUIProp -// -// Synopsis: -// This routine is used to interact with the Unidrv-supplied -// property sheet pages. Since this plug-in implements full-UI -// replacement, those property sheet pages are disabled, and this -// routine does not need to do anything. -// -// Returns: -// S_OK -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ) -{ - UNREFERENCED_PARAMETER(dwMode); - UNREFERENCED_PARAMETER(pOemCUIPParam); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DeviceCapabilities -// -// Synopsis: -// This routine can be used to replace the Unidrv's device capabilities -// handling. In this implementation, no custom capabilities handling is -// provided. -// -// Returns: -// E_FAIL -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DeviceCapabilities( - _Inout_ POEMUIOBJ poemuiobj, - // OEM settings & information - _In_ HANDLE hPrinter, - // Handle to the printer that the capabilities are being requested for - _In_ PWSTR pDeviceName, - // Name of the device / driver - WORD wCapability, - // The DC_ ID indicating which capability was requested. - _Out_ PVOID pOutput, - // Buffer to write requested information to. - _In_ PDEVMODE pPublicDM, - // Pointer to the public DEVMODE representing the settings to get - // capabilities with respect to. - _In_ PVOID pOEMDM, - // OEM private DEVMODE settings. - DWORD dwOld, - // Result from previous plug-in call to this routine. - _Out_ DWORD *dwResult - // Result of this call. If there are multiple UI plug-ins, this - // result is passed to the next one as dwOld - ) -{ - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - // - // Do nothing. Let Unidrv handle the device capabilities processing. - // - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DevQueryPrintEx -// -// Synopsis: -// This routine is used to determine print job compatibility with the -// current driver. The plug-in can supplement Unidrv's handling of this -// routine. If Unidrv determines that a job can be printed on the current -// printer it will call this routine to ask the plug-in whether it can -// also handle the current job. If Unidrv determines that the job cannot -// be printed, it will not call the plug-in. Additionally, XPS drivers -// built on the Unidrv and PScript UI modules may not recieve this call- -// back. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ) -{ - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::UpgradePrinter -// -// Synopsis: -// Use this callback to upgrade any settings from previous versions -// that are stored in the registry by the plug-in Not applicabe to -// this sample. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ) -{ - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::PrinterEvent -// -// Synopsis: -// Perform any special processing needed when various events occur to the -// print queue. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DriverEvent -// -// Synopsis: -// Notifies the plug-in of changes or events relevant to the driver, -// such as installing and upgrading. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::QueryColorProfile -// -// Synopsis: -// This routine can be implemented to provide a color profile from the -// driver. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData - ) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(ulQueryMode); - UNREFERENCED_PARAMETER(pvProfileData); - UNREFERENCED_PARAMETER(pcbProfileData); - UNREFERENCED_PARAMETER(pflProfileData); - - return E_NOTIMPL; -}; - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::FontInstallerDlgProc -// -// Synopsis: -// Plug-ins can use this method to replace Unidrv's provided soft-font -// installer dialog. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::UpdateExternalFonts -// -// Synopsis: -// This routine is used to notify the UI of any changes to installed -// font cartridges, primarily for supporting soft-font UI replacement. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::UpdateExternalFonts( - _In_ HANDLE hPrinter, - _In_ HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::QueryJobAttributes -// -// Synopsis: -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::QueryJobAttributes( - HANDLE hPrinter, - PDEVMODE pDevmode, - DWORD dwLevel, - LPBYTE lpAttributeInfo - ) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDevmode); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(lpAttributeInfo); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DocumentEvent -// -// Synopsis: -// Perform any special processing needed at various points in time while -// a job is printing. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DocumentEvent( - HANDLE hPrinter, - HDC hdc, - INT iEsc, - ULONG cbIn, - PVOID pbIn, - ULONG cbOut, - PVOID pbOut, - PINT piResult - ) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hdc); - UNREFERENCED_PARAMETER(iEsc); - UNREFERENCED_PARAMETER(cbIn); - UNREFERENCED_PARAMETER(pbIn); - UNREFERENCED_PARAMETER(cbOut); - UNREFERENCED_PARAMETER(pbOut); - UNREFERENCED_PARAMETER(piResult); - - return E_NOTIMPL; -} - |
