69 lines
1.4 KiB
C++
69 lines
1.4 KiB
C++
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (C) Microsoft Corporation, 1992 - 1992.
|
||
|
//
|
||
|
// File: MemDeSer.hxx
|
||
|
//
|
||
|
// History: 29-Jul-94 KyleP Created
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include <sstream.hxx>
|
||
|
|
||
|
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 )
|
||
|
{
|
||
|
}
|
||
|
|