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.

134 lines
2.3 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. cprinter.hxx
  5. Abstract:
  6. Contains definitions for
  7. CWinNTPrintQueue
  8. Author:
  9. Ram Viswanathan (ramv) 11-18-95
  10. Revision History:
  11. --*/
  12. class CLDAPPrintQueue:INHERIT_TRACKING,
  13. public IADsPrintQueue,
  14. public IADsPrintQueueOperations,
  15. public IPrivateUnknown,
  16. public IPrivateDispatch,
  17. public IADsExtension,
  18. public INonDelegatingUnknown
  19. {
  20. public:
  21. /* IUnknown methods */
  22. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
  23. DECLARE_DELEGATING_REFCOUNTING
  24. //
  25. // INonDelegatingUnkown methods declaration for NG_QI, definition for
  26. // NG_AddRef adn NG_Release.
  27. //
  28. STDMETHOD(NonDelegatingQueryInterface)(THIS_
  29. const IID&,
  30. void **
  31. );
  32. DECLARE_NON_DELEGATING_REFCOUNTING
  33. DECLARE_IDispatch_METHODS;
  34. DECLARE_IADs_METHODS;
  35. STDMETHOD(Operate)(
  36. THIS_
  37. DWORD dwCode,
  38. VARIANT varUserName,
  39. VARIANT varPassword,
  40. VARIANT varReserved
  41. );
  42. STDMETHOD(PrivateGetIDsOfNames)(
  43. THIS_
  44. REFIID riid,
  45. OLECHAR FAR* FAR* rgszNames,
  46. unsigned int cNames,
  47. LCID lcid,
  48. DISPID FAR* rgdispid) ;
  49. STDMETHOD(PrivateInvoke)(
  50. THIS_
  51. DISPID dispidMember,
  52. REFIID riid,
  53. LCID lcid,
  54. WORD wFlags,
  55. DISPPARAMS FAR* pdispparams,
  56. VARIANT FAR* pvarResult,
  57. EXCEPINFO FAR* pexcepinfo,
  58. unsigned int FAR* puArgErr
  59. ) ;
  60. DECLARE_IPrivateUnknown_METHODS
  61. DECLARE_IPrivateDispatch_METHODS
  62. DECLARE_IADsPrintQueue_METHODS;
  63. DECLARE_IADsPrintQueueOperations_METHODS;
  64. //
  65. // constructor and destructor
  66. //
  67. CLDAPPrintQueue();
  68. ~CLDAPPrintQueue();
  69. static
  70. HRESULT
  71. CLDAPPrintQueue:: CreatePrintQueue(
  72. IUnknown * pUnkOuter,
  73. REFIID riid,
  74. LPVOID * ppvoid
  75. );
  76. protected:
  77. IADs FAR * _pADs;
  78. CAggregateeDispMgr * _pDispMgr;
  79. CCredentials _Credentials;
  80. BOOL _fDispInitialized;
  81. private:
  82. HRESULT
  83. InitCredentials(
  84. VARIANT * pvarUserName,
  85. VARIANT * pvarPassword,
  86. VARIANT * pdwAuthFlags
  87. );
  88. };