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.

100 lines
2.5 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1995
  5. //
  6. // File: cfpnwses.hxx
  7. //
  8. // Contents: Contains definitions for the following objects
  9. // CFPNWSession, CFPNWSessionGeneralInfo.
  10. //
  11. //
  12. // History: 02/08/96 ramv (Ram Viswanathan) Created.
  13. //
  14. //----------------------------------------------------------------------------
  15. class CFPNWFSSessionGeneralInfo;
  16. class CPropertyCache;
  17. class CFPNWSession: INHERIT_TRACKING,
  18. public ISupportErrorInfo,
  19. public IADsSession,
  20. public IADsPropertyList,
  21. public CCoreADsObject,
  22. public INonDelegatingUnknown,
  23. public IADsExtension
  24. {
  25. friend class CFPNWFSSessionGeneralInfo;
  26. public:
  27. /* IUnknown methods */
  28. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
  29. STDMETHODIMP_(ULONG) AddRef(void);
  30. STDMETHODIMP_(ULONG) Release(void);
  31. // INonDelegatingUnknown methods
  32. STDMETHOD(NonDelegatingQueryInterface)(THIS_
  33. const IID&,
  34. void **
  35. );
  36. DECLARE_NON_DELEGATING_REFCOUNTING
  37. DECLARE_IDispatch_METHODS;
  38. DECLARE_ISupportErrorInfo_METHODS;
  39. DECLARE_IADs_METHODS;
  40. DECLARE_IADsSession_METHODS;
  41. DECLARE_IADsPropertyList_METHODS;
  42. DECLARE_IADsExtension_METHODS
  43. //
  44. // constructor and destructor
  45. //
  46. CFPNWSession();
  47. ~CFPNWSession();
  48. static HRESULT Create(LPTSTR pszServerADsPath,
  49. PNWCONNECTIONINFO pConnectionInfo,
  50. DWORD dwObject,
  51. REFIID riid,
  52. CWinNTCredentials& Credentials,
  53. LPVOID * ppvoid
  54. );
  55. static HRESULT AllocateSessionObject(LPTSTR pszServerADsPath,
  56. PNWCONNECTIONINFO pConnectionInfo,
  57. CFPNWSession ** ppSession
  58. );
  59. STDMETHOD(GetInfo)(THIS_ DWORD dwApiLevel, BOOL fExplicit);
  60. STDMETHOD(ImplicitGetInfo)(void);
  61. protected:
  62. CFPNWFSSessionGeneralInfo *_pGenInfo;
  63. CAggregatorDispMgr * _pDispMgr;
  64. CADsExtMgr FAR * _pExtMgr;
  65. LPWSTR _pszServerName;
  66. LPWSTR _pszServerADsPath;
  67. LPWSTR _pszComputerName;
  68. LPWSTR _pszUserName;
  69. DWORD _dwConnectTime;
  70. DWORD _dwConnectionId;
  71. CPropertyCache * _pPropertyCache;
  72. CWinNTCredentials _Credentials;
  73. };