//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1992. // // File: MemDeSer.hxx // // History: 29-Jul-94 KyleP Created // //-------------------------------------------------------------------------- #pragma once #include class CQMemDeSerStream : public PDeSerStream { public: inline CQMemDeSerStream( BYTE * pb ); virtual ~CQMemDeSerStream() {}; virtual BYTE GetByte(); virtual void SkipByte(); virtual void GetChar( char * pc, ULONG cc ); virtual void SkipChar( ULONG cc ); virtual void GetWChar( WCHAR * pwc, ULONG cc ); virtual void SkipWChar( ULONG cc ); virtual USHORT GetUShort(); virtual void SkipUShort(); virtual ULONG GetULong(); virtual void SkipULong(); virtual ULONG PeekULong(); virtual long GetLong(); virtual void SkipLong(); virtual float GetFloat(); virtual void SkipFloat(); virtual double GetDouble(); virtual void SkipDouble(); virtual char * GetString(); virtual WCHAR * GetWString(); virtual void GetBlob( BYTE * pb, ULONG cb ); virtual void SkipBlob( ULONG cb ); virtual void GetGUID( GUID & guid ); virtual void SkipGUID(); private: BYTE * _pbCurrent; }; inline CQMemDeSerStream::CQMemDeSerStream( BYTE * pb ) : _pbCurrent( pb ) { }