windows-nt/Source/XPSP1/NT/com/ole32/stg/h/psstream.hxx
2020-09-26 16:20:57 +08:00

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__