Source code of Windows XP (NT5)
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.

80 lines
1.7 KiB

  1. class CNWCOMPATPrintQueue:INHERIT_TRACKING,
  2. public ISupportErrorInfo,
  3. public IADsPrintQueue,
  4. public IADsPrintQueueOperations,
  5. public IADsPropertyList,
  6. public CCoreADsObject
  7. {
  8. public:
  9. /* IUnknown methods */
  10. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
  11. DECLARE_STD_REFCOUNTING;
  12. DECLARE_IDispatch_METHODS;
  13. NW_DECLARE_ISupportErrorInfo_METHODS;
  14. DECLARE_IADs_METHODS;
  15. DECLARE_IADsPrintQueue_METHODS;
  16. DECLARE_IADsPrintQueueOperations_METHODS;
  17. DECLARE_IADsPropertyList_METHODS;
  18. CNWCOMPATPrintQueue();
  19. ~CNWCOMPATPrintQueue();
  20. static
  21. HRESULT
  22. CNWCOMPATPrintQueue::CreatePrintQueue(
  23. LPTSTR lpszADsParent,
  24. LPTSTR pszPrinterName,
  25. CCredentials &Credentials,
  26. DWORD dwObjectState,
  27. REFIID riid,
  28. LPVOID * ppvoid
  29. );
  30. static
  31. HRESULT
  32. CNWCOMPATPrintQueue::AllocatePrintQueueObject(
  33. CNWCOMPATPrintQueue FAR * FAR * ppPrintQueue
  34. );
  35. protected:
  36. STDMETHOD(GetInfo)(
  37. THIS_ BOOL fExplicit,
  38. DWORD dwPropertyID
  39. );
  40. HRESULT
  41. CNWCOMPATPrintQueue::UnMarshall_GeneralInfo(
  42. LPPRINTER_INFO_2 lpPrinterInfo2,
  43. BOOL fExplicit
  44. );
  45. HRESULT
  46. CNWCOMPATPrintQueue::UnMarshall_Operation(
  47. LPPRINTER_INFO_2 lpPrinterInfo2,
  48. BOOL fExplicit
  49. );
  50. HRESULT
  51. CNWCOMPATPrintQueue::MarshallAndSet(
  52. HANDLE hPrinter,
  53. LPPRINTER_INFO_2 lpPrinterInfo2
  54. );
  55. WCHAR _szUncPrinterName[MAX_PATH];
  56. CDispatchMgr * _pDispMgr;
  57. CPropertyCache * _pPropertyCache;
  58. CCredentials _Credentials;
  59. NWCONN_HANDLE _hConn;
  60. };