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