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.

78 lines
1.8 KiB

  1. //+--------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1992.
  5. //
  6. // File: rpubdf.hxx
  7. //
  8. // Contents: Root public docfile header
  9. //
  10. // Classes: CRootPubDocFile
  11. //
  12. // History: 26-Aug-92 DrewB Created
  13. // 05-Sep-95 MikeHill Added Commit and
  14. // _timeModifyAtCommit.
  15. //
  16. //---------------------------------------------------------------
  17. #ifndef __RPUBDF_HXX__
  18. #define __RPUBDF_HXX__
  19. #include <publicdf.hxx>
  20. //+--------------------------------------------------------------
  21. //
  22. // Class: CRootPubDocFile (rpdf)
  23. //
  24. // Purpose: Root form of the public docfile
  25. //
  26. // Interface: See below
  27. //
  28. // History: 26-Aug-92 DrewB Created
  29. //
  30. //---------------------------------------------------------------
  31. class CRootPubDocFile : public CPubDocFile
  32. {
  33. public:
  34. CRootPubDocFile(IMalloc * const pMalloc);
  35. SCODE InitRoot(ILockBytes *plstBase,
  36. DWORD dwStartFlags,
  37. DFLAGS const df,
  38. SNBW snbExclude,
  39. CDFBasis **ppdfb,
  40. ULONG *pulOpenLock,
  41. CGlobalContext *pgc);
  42. void vdtor(void);
  43. SCODE Stat(STATSTGW *pstatstg, DWORD grfStatFlag);
  44. void ReleaseLocks(ILockBytes *plkb);
  45. SCODE SwitchToFile(OLECHAR const *ptcsFile,
  46. ILockBytes *plkb,
  47. ULONG *pulOpenLock);
  48. void CommitTimestamps(DWORD const dwFlags);
  49. private:
  50. SCODE InitInd(ILockBytes *plstBase,
  51. SNBW snbExclude,
  52. DWORD const dwStartFlags,
  53. DFLAGS const df);
  54. SCODE InitNotInd(ILockBytes *plstBase,
  55. SNBW snbExclude,
  56. DWORD const dwStartFlags,
  57. DFLAGS const df);
  58. ULONG _ulPriLock;
  59. IMalloc * const _pMalloc;
  60. TIME_T _timeModifyAtCommit; // Last-Modify time on Docfile after commit.
  61. };
  62. #endif // #ifndef __RPUBDF_HXX__