Sample Code
Windows Driver Samples/ OEM Printer Customization Plug-in Samples/ C++/ custhlp/ intrface.h/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | // 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.h // // PURPOSE: Declaration of class that implements the UI plug-in class // #pragma once //////////////////////////////////////////////////////////////////////////////// // // IOemUI // class IOemUI: public IPrintOemUI { public : // *** IUnknown methods *** STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); STDMETHOD_( ULONG ,AddRef) (THIS); // the _At_ tag here tells prefast that once release // is called, the memory should not be considered leaked _At_( this , __drv_freesMem(object)) STDMETHOD_( ULONG ,Release) (THIS); // *** IPrintOemUI methods *** // // 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, _In_ 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_ _In_ 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, _In_ PWSTR pwstrCartridges ); IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; }; ~IOemUI(); protected : LONG m_cRef; IPrintOemDriverUI* m_pOEMHelp; }; |
Our Services
-
What our customers say about us?
Read our customer testimonials to find out why our clients keep returning for their projects.
View Testimonials