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.

183 lines
4.1 KiB

  1. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  2. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  3. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  4. // PARTICULAR PURPOSE.
  5. //
  6. // Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved.
  7. //
  8. // FILE: Intrface.cpp
  9. //
  10. //
  11. // PURPOSE: Header of interface for PScript4, PScript5, Unidrv4,
  12. // Unidrv5 UI plug-ins.
  13. //
  14. //
  15. // Functions:
  16. //
  17. //
  18. //
  19. //
  20. // PLATFORMS: Windows 2000, Windows XP, Windows Server 2003
  21. //
  22. //
  23. ////////////////////////////////////////////////////////////////////////////////
  24. //
  25. // IOemUI
  26. //
  27. class IOemUI: public IPrintOemUI
  28. {
  29. public:
  30. // *** IUnknown methods ***
  31. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
  32. STDMETHOD_(ULONG,AddRef) (THIS);
  33. STDMETHOD_(ULONG,Release) (THIS);
  34. //
  35. // Method for publishing Driver interface.
  36. //
  37. STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown);
  38. //
  39. // Get OEM dll related information
  40. //
  41. STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize,
  42. PDWORD pcbNeeded);
  43. //
  44. // OEMDevMode
  45. //
  46. STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ;
  47. //
  48. // OEMCommonUIProp
  49. //
  50. STDMETHOD(CommonUIProp) (THIS_
  51. DWORD dwMode,
  52. POEMCUIPPARAM pOemCUIPParam
  53. );
  54. //
  55. // OEMDocumentPropertySheets
  56. //
  57. STDMETHOD(DocumentPropertySheets) (THIS_
  58. PPROPSHEETUI_INFO pPSUIInfo,
  59. LPARAM lParam
  60. );
  61. //
  62. // OEMDevicePropertySheets
  63. //
  64. STDMETHOD(DevicePropertySheets) (THIS_
  65. PPROPSHEETUI_INFO pPSUIInfo,
  66. LPARAM lParam
  67. );
  68. //
  69. // OEMDevQueryPrintEx
  70. //
  71. STDMETHOD(DevQueryPrintEx) (THIS_
  72. POEMUIOBJ poemuiobj,
  73. PDEVQUERYPRINT_INFO pDQPInfo,
  74. PDEVMODE pPublicDM,
  75. PVOID pOEMDM
  76. );
  77. //
  78. // OEMDeviceCapabilities
  79. //
  80. STDMETHOD(DeviceCapabilities) (THIS_
  81. POEMUIOBJ poemuiobj,
  82. HANDLE hPrinter,
  83. PWSTR pDeviceName,
  84. WORD wCapability,
  85. PVOID pOutput,
  86. PDEVMODE pPublicDM,
  87. PVOID pOEMDM,
  88. DWORD dwOld,
  89. DWORD *dwResult
  90. );
  91. //
  92. // OEMUpgradePrinter
  93. //
  94. STDMETHOD(UpgradePrinter) (THIS_
  95. DWORD dwLevel,
  96. PBYTE pDriverUpgradeInfo
  97. );
  98. //
  99. // OEMPrinterEvent
  100. //
  101. STDMETHOD(PrinterEvent) (THIS_
  102. PWSTR pPrinterName,
  103. INT iDriverEvent,
  104. DWORD dwFlags,
  105. LPARAM lParam
  106. );
  107. //
  108. // OEMDriverEvent
  109. //
  110. STDMETHOD(DriverEvent)(THIS_
  111. DWORD dwDriverEvent,
  112. DWORD dwLevel,
  113. LPBYTE pDriverInfo,
  114. LPARAM lParam
  115. );
  116. //
  117. // OEMQueryColorProfile
  118. //
  119. STDMETHOD( QueryColorProfile) (THIS_
  120. HANDLE hPrinter,
  121. POEMUIOBJ poemuiobj,
  122. PDEVMODE pPublicDM,
  123. PVOID pOEMDM,
  124. ULONG ulReserved,
  125. VOID *pvProfileData,
  126. ULONG *pcbProfileData,
  127. FLONG *pflProfileData);
  128. //
  129. // OEMFontInstallerDlgProc
  130. //
  131. STDMETHOD(FontInstallerDlgProc) (THIS_
  132. HWND hWnd,
  133. UINT usMsg,
  134. WPARAM wParam,
  135. LPARAM lParam
  136. );
  137. //
  138. // UpdateExternalFonts
  139. //
  140. STDMETHOD(UpdateExternalFonts) (THIS_
  141. HANDLE hPrinter,
  142. HANDLE hHeap,
  143. PWSTR pwstrCartridges
  144. );
  145. IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; };
  146. ~IOemUI();
  147. protected:
  148. LONG m_cRef;
  149. IPrintOemDriverUI* m_pOEMHelp;
  150. };