xmemfile.h
上传用户:pass2008
上传日期:2021-07-05
资源大小:3299k
文件大小:1k
源码类别:

Internet/IE编程

开发平台:

Visual C++

  1. #if !defined(__xmemfile_h)
  2. #define __xmemfile_h
  3. #include "xfile.h"
  4. //////////////////////////////////////////////////////////
  5. class DLL_EXP CxMemFile : public CxFile
  6. {
  7. public:
  8. CxMemFile(BYTE* pBuffer = NULL, DWORD size = 0);
  9. ~CxMemFile();
  10. bool Open();
  11. BYTE* GetBuffer(bool bDetachBuffer = true);
  12. virtual bool Close();
  13. virtual size_t Read(void *buffer, size_t size, size_t count);
  14. virtual size_t Write(const void *buffer, size_t size, size_t count);
  15. virtual bool Seek(long offset, int origin);
  16. virtual long Tell();
  17. virtual long Size();
  18. virtual bool Flush();
  19. virtual bool Eof();
  20. virtual long Error();
  21. virtual bool PutC(unsigned char c);
  22. virtual long GetC();
  23. virtual char * GetS(char *string, int n);
  24. virtual long Scanf(const char *format, void* output);
  25. protected:
  26. bool Alloc(DWORD nBytes);
  27. void Free();
  28. BYTE* m_pBuffer;
  29. DWORD m_Size;
  30. bool m_bFreeOnClose;
  31. long m_Position; //current position
  32. long m_Edge; //buffer size
  33. };
  34. #endif