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.

81 lines
1.7 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1992.
  5. //
  6. // File: psstream.hxx
  7. //
  8. // Contents: Internal stream base class
  9. //
  10. // Classes: PSStream
  11. //
  12. // History: 20-Jan-92 PhilipLa Created.
  13. //
  14. //--------------------------------------------------------------------------
  15. #ifndef __PSSTREAM_HXX__
  16. #define __PSSTREAM_HXX__
  17. #include <entry.hxx>
  18. class CDeltaList;
  19. class CDirectStream;
  20. class CTransactedStream;
  21. class PSStream: public PBasicEntry
  22. {
  23. public:
  24. SCODE BeginCommitFromChild(
  25. #ifdef LARGE_STREAMS
  26. ULONGLONG ulSize,
  27. #else
  28. ULONG ulSize,
  29. #endif
  30. CDeltaList *pDelta,
  31. CTransactedStream *pstChild);
  32. void EndCommitFromChild(DFLAGS df,
  33. CTransactedStream *pstChild);
  34. CDeltaList *GetDeltaList(void);
  35. SCODE ReadAt(
  36. #ifdef LARGE_STREAMS
  37. ULONGLONG ulOffset,
  38. #else
  39. ULONG ulOffset,
  40. #endif
  41. VOID *pBuffer,
  42. ULONG ulCount,
  43. ULONG STACKBASED *pulRetval);
  44. SCODE WriteAt(
  45. #ifdef LARGE_STREAMS
  46. ULONGLONG ulOffset,
  47. #else
  48. ULONG ulOffset,
  49. #endif
  50. VOID const *pBuffer,
  51. ULONG ulCount,
  52. ULONG STACKBASED *pulRetval);
  53. #ifdef LARGE_STREAMS
  54. SCODE SetSize(ULONGLONG ulNewSize);
  55. void GetSize(ULONGLONG *pulSize);
  56. #else
  57. SCODE SetSize(ULONG ulNewSize);
  58. void GetSize(ULONG *pulSize);
  59. #endif
  60. void EmptyCache ();
  61. protected:
  62. inline PSStream(DFLUID dl) : PBasicEntry(dl) {}
  63. };
  64. SAFE_DFBASED_PTR(CBasedSStreamPtr, PSStream);
  65. #endif //__PSSTREAM_HXX__