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.

110 lines
2.7 KiB

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