summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/memdeser.hxx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/memdeser.hxx81
1 files changed, 81 insertions, 0 deletions
diff --git a/public/sdk/inc/memdeser.hxx b/public/sdk/inc/memdeser.hxx
new file mode 100644
index 000000000..b5998518c
--- /dev/null
+++ b/public/sdk/inc/memdeser.hxx
@@ -0,0 +1,81 @@
+//+-------------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 1992 - 1992.
+//
+// File: MemDeSer.hxx
+//
+// History: 29-Jul-94 KyleP Created
+//
+//--------------------------------------------------------------------------
+
+#if !defined( __MEMDESER_HXX__ )
+#define __MEMDESER_HXX__
+
+#include <restrict.hxx>
+#include <SStream.hxx>
+
+class CMemDeSerStream : public PDeSerStream
+{
+public:
+
+ inline CMemDeSerStream( BYTE *pb, ULONG cb);
+
+ virtual ~CMemDeSerStream() {};
+
+ 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();
+
+#if defined(KERNEL) // Can not return floating point #'s in the kernel
+
+ virtual ULONG GetFloat();
+ virtual LONGLONG GetDouble();
+
+#else
+
+ virtual float GetFloat();
+ virtual double GetDouble();
+
+#endif
+ virtual void SkipFloat();
+ 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();
+
+protected:
+
+ BYTE * _pbCurrent;
+ BYTE * _pbEnd;
+};
+
+inline CMemDeSerStream::CMemDeSerStream( BYTE * pb, ULONG cb )
+ : _pbCurrent( pb )
+{
+ _pbEnd = _pbCurrent + cb;
+}
+
+#endif // __MEMDESER_HXX__