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.

89 lines
2.1 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1996
  5. //
  6. // File: cres.hxx
  7. //
  8. // Contents: Resource object
  9. //
  10. // History: 03/12/96 ramv(Ram Viswanathan) Created.
  11. //
  12. //----------------------------------------------------------------------------
  13. class CWinNTFSResourceGeneralInfo;
  14. class CPropertyCache;
  15. class CWinNTResource: INHERIT_TRACKING,
  16. public ISupportErrorInfo,
  17. public IADsResource,
  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_IADsResource_METHODS;
  38. DECLARE_IADsPropertyList_METHODS;
  39. DECLARE_IADsExtension_METHODS
  40. //
  41. // constructor and destructor
  42. //
  43. CWinNTResource();
  44. ~CWinNTResource();
  45. static HRESULT Create(LPTSTR pszServerADsPath,
  46. DWORD dwFileId,
  47. DWORD dwObject,
  48. REFIID riid,
  49. CWinNTCredentials& Credentials,
  50. LPVOID * ppvoid);
  51. static HRESULT AllocateResourceObject(LPTSTR pszServerADsPath,
  52. CWinNTResource ** ppResource);
  53. STDMETHOD(ImplicitGetInfo)(void);
  54. protected:
  55. STDMETHOD(GetInfo)(THIS_ DWORD dwApiLevel, BOOL fExplicit) ;
  56. CAggregatorDispMgr * _pDispMgr;
  57. CADsExtMgr FAR * _pExtMgr;
  58. LPWSTR _pszServerName;
  59. LPWSTR _pszServerADsPath;
  60. DWORD _dwFileId;
  61. CPropertyCache * _pPropertyCache;
  62. CWinNTCredentials _Credentials;
  63. };