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.

94 lines
2.4 KiB

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