class StgIo; class StgStrm; class StgPage; class StgDirEntry;
// The FAT class performs FAT operations on an underlying storage stream. // This stream is either the physical FAT stream (bPhys == true ) or a normal // storage stream, which then holds the FAT for small data allocations.
// The base stream class provides basic functionality for seeking // and accessing the data on a physical basis. It uses the built-in // FAT class for the page allocations.
// The stream has a size increment which normally is 1, but which can be // set to any value is you want the size to be incremented by certain values.
class StgDataStrm : public StgStrm // a physical data stream
{ short m_nIncr; // size adjust increment void Init( sal_Int32 nBgn, sal_Int32 nLen ); public:
StgDataStrm( StgIo&, sal_Int32 nBgn, sal_Int32 nLen=-1 );
StgDataStrm( StgIo&, StgDirEntry& ); void* GetPtr( sal_Int32 nPos, bool bDirty ); void SetIncrement( short n ) { m_nIncr = n ; } virtualbool SetSize( sal_Int32 ) override; virtual sal_Int32 Read( void*, sal_Int32 ) override; virtual sal_Int32 Write( constvoid*, sal_Int32 ) override;
};
// The small stream class provides access to streams with a size < 4096 bytes. // This stream is a StgStream containing small pages. The FAT for this stream // is also a StgStream. The start of the FAT is in the header at DataRootPage, // the stream itself is pointed to by the root entry (it holds start & size).
class StgSmallStrm : public StgStrm // a logical data stream
{
StgStrm* m_pData; // the data stream void Init( sal_Int32 nBgn, sal_Int32 nLen ); public:
StgSmallStrm( StgIo&, sal_Int32 nBgn );
StgSmallStrm( StgIo&, StgDirEntry& ); virtual sal_Int32 Read( void*, sal_Int32 ) override; virtual sal_Int32 Write( constvoid*, sal_Int32 ) override; virtualbool IsSmallStrm() const override { returntrue; }
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.