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.

197 lines
4.2 KiB

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