Leaked source code of windows server 2003
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.

89 lines
2.2 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1996
  5. //
  6. // File: cfpnwres.hxx
  7. //
  8. // Contents: Resource object
  9. //
  10. // History: 05/01/96 ramv(Ram Viswanathan) Created.
  11. //
  12. //----------------------------------------------------------------------------
  13. class CFPNWResource: INHERIT_TRACKING,
  14. public ISupportErrorInfo,
  15. public IADsResource,
  16. public IADsPropertyList,
  17. public CCoreADsObject,
  18. public INonDelegatingUnknown,
  19. public IADsExtension
  20. {
  21. public:
  22. /* IUnknown methods */
  23. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
  24. STDMETHODIMP_(ULONG) AddRef(void);
  25. STDMETHODIMP_(ULONG) Release(void);
  26. // INonDelegatingUnknown methods
  27. STDMETHOD(NonDelegatingQueryInterface)(THIS_
  28. const IID&,
  29. void **
  30. );
  31. DECLARE_NON_DELEGATING_REFCOUNTING
  32. DECLARE_IDispatch_METHODS;
  33. DECLARE_ISupportErrorInfo_METHODS;
  34. DECLARE_IADs_METHODS;
  35. DECLARE_IADsResource_METHODS;
  36. DECLARE_IADsPropertyList_METHODS;
  37. DECLARE_IADsExtension_METHODS
  38. //
  39. // constructor and destructor
  40. //
  41. CFPNWResource();
  42. ~CFPNWResource();
  43. static HRESULT Create(LPTSTR pszServerADsPath,
  44. PNWFILEINFO pFileInfo,
  45. DWORD dwObject,
  46. REFIID riid,
  47. CWinNTCredentials& Credentials,
  48. LPVOID * ppvoid);
  49. static HRESULT AllocateResourceObject(LPTSTR pszServerADsPath,
  50. PNWFILEINFO pFileInfo,
  51. CFPNWResource ** ppResource);
  52. STDMETHOD(ImplicitGetInfo)(void);
  53. protected:
  54. CAggregatorDispMgr * _pDispMgr;
  55. CADsExtMgr FAR * _pExtMgr;
  56. LPWSTR _pszServerName;
  57. LPWSTR _pszServerADsPath;
  58. DWORD _dwFileId;
  59. LPWSTR _pszUserName;
  60. LPWSTR _pszPath;
  61. DWORD _dwLockCount;
  62. CPropertyCache * _pPropertyCache;
  63. CWinNTCredentials _Credentials;
  64. };