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.

62 lines
2.5 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  5. //
  6. // File: CSTORAGE.HXX
  7. //
  8. // Contents:
  9. //
  10. // Classes: Declaration for IStorage class
  11. //
  12. // Functions:
  13. //
  14. // History: 12-20-95 JoeS (Joe Souza) Created
  15. //
  16. //----------------------------------------------------------------------------
  17. class FAR CStorage : public IStorage
  18. {
  19. public:
  20. CStorage(IStorage *pStorage);
  21. // *** IUnknown methods ***
  22. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
  23. STDMETHOD_(ULONG,AddRef) (THIS);
  24. STDMETHOD_(ULONG,Release) (THIS);
  25. // *** IStorage methods ***
  26. STDMETHOD(CreateStream) (THIS_ const OLECHAR *pwcsName, DWORD grfMode,
  27. DWORD dwReserved1, DWORD dwReserved2, LPSTREAM FAR *ppStm);
  28. STDMETHOD(OpenStream) (THIS_ const OLECHAR *pwcsName,
  29. void FAR *pReserved1, DWORD grfMode, DWORD dwReserved2,
  30. LPSTREAM FAR *ppStm);
  31. STDMETHOD(CreateStorage) (THIS_ const OLECHAR *pwcsName, DWORD grfMode,
  32. DWORD dwReserved1, DWORD dwReserved2, LPSTORAGE FAR *ppStg);
  33. STDMETHOD(OpenStorage) (THIS_ const OLECHAR *pwcsName,
  34. LPSTORAGE pstgPriority, DWORD grfMode, SNB snbExclude,
  35. DWORD dwReserved, LPSTORAGE FAR *ppStg);
  36. STDMETHOD(CopyTo) (THIS_ DWORD dwCiidExclude,
  37. IID const FAR *rgiidExclude, SNB snbExclude, LPSTORAGE pStgDest);
  38. STDMETHOD(MoveElementTo) (THIS_ const OLECHAR *lpszName,
  39. LPSTORAGE pStgDest, const OLECHAR *lpszNewName, DWORD grfFlags);
  40. STDMETHOD(Commit) (THIS_ DWORD grfCommitFlags);
  41. STDMETHOD(Revert) (THIS);
  42. STDMETHOD(EnumElements) (THIS_ DWORD dwReserved1, void FAR *pReserved2,
  43. DWORD dwReserved3, LPENUMSTATSTG FAR *ppenumStatStg);
  44. STDMETHOD(DestroyElement) (THIS_ const OLECHAR *pwcsName);
  45. STDMETHOD(RenameElement) (THIS_ const OLECHAR *pwcsOldName,
  46. const OLECHAR *pwcsNewName);
  47. STDMETHOD(SetElementTimes) (THIS_ const OLECHAR *lpszName,
  48. FILETIME const FAR *pctime, FILETIME const FAR *patime,
  49. FILETIME const FAR *pmtime);
  50. STDMETHOD(SetClass) (THIS_ REFCLSID rclsid);
  51. STDMETHOD(SetStateBits) (THIS_ DWORD grfStateBits, DWORD grfMask);
  52. STDMETHOD(Stat) (THIS_ STATSTG FAR *pStatStg, DWORD grfStatFlag);
  53. private:
  54. CRefCount _CRefs;
  55. IStorage *_pStg;
  56. };