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.

112 lines
2.8 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1996
  5. //
  6. // File: cfserv.hxx
  7. //
  8. // Contents: Contains definitions for the following objects
  9. // CWinNTFileService and CWinNTFSFileServiceGeneralInfo
  10. //
  11. //
  12. // History: 01/04/96 ramv (Ram Viswanathan) Created.
  13. //
  14. //----------------------------------------------------------------------------
  15. class CPropertyCache;
  16. class CWinNTFileService: INHERIT_TRACKING,
  17. public CCoreADsObject,
  18. public ISupportErrorInfo,
  19. public IADsFileService,
  20. public IADsFileServiceOperations,
  21. public IADsContainer,
  22. public IADsPropertyList,
  23. public INonDelegatingUnknown,
  24. public IADsExtension
  25. {
  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_IADsService_METHODS;
  41. DECLARE_IADsFileService_METHODS;
  42. DECLARE_IADsServiceOperations_METHODS;
  43. DECLARE_IADsFileServiceOperations_METHODS;
  44. DECLARE_IADsContainer_METHODS;
  45. DECLARE_IADsPropertyList_METHODS;
  46. DECLARE_IADsExtension_METHODS;
  47. //
  48. // constructor and destructor
  49. //
  50. CWinNTFileService();
  51. ~CWinNTFileService();
  52. static
  53. HRESULT
  54. CreateFileService(LPTSTR pszADsParent,
  55. DWORD dwParentId,
  56. LPTSTR pszDomainName,
  57. LPTSTR pszServerName,
  58. LPTSTR pszServiceName,
  59. DWORD dwObject,
  60. REFIID riid,
  61. CWinNTCredentials& Credentials,
  62. LPVOID * ppvoid
  63. );
  64. static
  65. HRESULT
  66. CWinNTFileService::AllocateFileServiceObject(
  67. CWinNTFileService ** ppFileService
  68. );
  69. STDMETHOD(ImplicitGetInfo)(void);
  70. protected:
  71. STDMETHOD(SetLevel1005Info)(THIS);
  72. STDMETHOD(GetInfo)(THIS_ DWORD dwApiLevel, BOOL fExplicit) ;
  73. STDMETHOD(GetLevel101Info)(THIS_ BOOL fExplicit);
  74. IADsService * _pService;
  75. IADsServiceOperations * _pServiceOps;
  76. CAggregatorDispMgr * _pDispMgr;
  77. CADsExtMgr FAR * _pExtMgr;
  78. LPWSTR _pszServerName;
  79. VARIANT _vFilter;
  80. CPropertyCache * _pPropertyCache;
  81. CWinNTCredentials _Credentials;
  82. };