82 lines
1.7 KiB
C++
82 lines
1.7 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1992.
|
|
//
|
|
// File: psstream.hxx
|
|
//
|
|
// Contents: Internal stream base class
|
|
//
|
|
// Classes: PSStream
|
|
//
|
|
// History: 20-Jan-92 PhilipLa Created.
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef __PSSTREAM_HXX__
|
|
#define __PSSTREAM_HXX__
|
|
|
|
#include <entry.hxx>
|
|
|
|
class CDeltaList;
|
|
class CDirectStream;
|
|
class CTransactedStream;
|
|
|
|
class PSStream: public PBasicEntry
|
|
{
|
|
|
|
public:
|
|
|
|
SCODE BeginCommitFromChild(
|
|
#ifdef LARGE_STREAMS
|
|
ULONGLONG ulSize,
|
|
#else
|
|
ULONG ulSize,
|
|
#endif
|
|
CDeltaList *pDelta,
|
|
CTransactedStream *pstChild);
|
|
|
|
void EndCommitFromChild(DFLAGS df,
|
|
CTransactedStream *pstChild);
|
|
|
|
CDeltaList *GetDeltaList(void);
|
|
|
|
SCODE ReadAt(
|
|
#ifdef LARGE_STREAMS
|
|
ULONGLONG ulOffset,
|
|
#else
|
|
ULONG ulOffset,
|
|
#endif
|
|
VOID *pBuffer,
|
|
ULONG ulCount,
|
|
ULONG STACKBASED *pulRetval);
|
|
|
|
SCODE WriteAt(
|
|
#ifdef LARGE_STREAMS
|
|
ULONGLONG ulOffset,
|
|
#else
|
|
ULONG ulOffset,
|
|
#endif
|
|
VOID const *pBuffer,
|
|
ULONG ulCount,
|
|
ULONG STACKBASED *pulRetval);
|
|
|
|
#ifdef LARGE_STREAMS
|
|
SCODE SetSize(ULONGLONG ulNewSize);
|
|
|
|
void GetSize(ULONGLONG *pulSize);
|
|
#else
|
|
SCODE SetSize(ULONG ulNewSize);
|
|
|
|
void GetSize(ULONG *pulSize);
|
|
#endif
|
|
|
|
void EmptyCache ();
|
|
|
|
protected:
|
|
inline PSStream(DFLUID dl) : PBasicEntry(dl) {}
|
|
};
|
|
SAFE_DFBASED_PTR(CBasedSStreamPtr, PSStream);
|
|
|
|
#endif //__PSSTREAM_HXX__
|