⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stream.h

📁 这是一个远程控制程序
💻 H
字号:
//---------------------------------------------------------------------------
#include <windows.h>

#ifndef StreamH
#define StreamH

#include "CNFileOP.h"
//---------------------------------------------------------------------------
class TCNStream
{
private:
        friend class TCNMemoryStream;

protected:
        void* __fastcall GlobalAllocPtr(unsigned int Flags,unsigned long Bytes);
        void* __fastcall GlobalReAllocPtr(void *Ptr,DWORD Bytes,UINT Flag);
        HGLOBAL __fastcall GlobalFreePtr(void *Ptr);

	virtual void __fastcall SetSize(int NewSize);
public:
	void __fastcall SetPosition(int Pos);
	int __fastcall GetPosition(void);
	int __fastcall GetSize(void);

	virtual int __fastcall Read(void *Buffer, int Count) = 0 ;
	virtual int __fastcall Write(const void *Buffer, int Count) = 0 ;
	virtual int __fastcall Seek(int Offset, WORD Origin) = 0 ;

	void __fastcall ReadBuffer(void *Buffer, int Count);
	void __fastcall WriteBuffer(const void *Buffer, int Count);
	int __fastcall CopyFrom(TCNStream* Source, int Count);
public:
//        inline __fastcall TCNStream(void){ }
//        inline __fastcall virtual ~TCNStream(void) { }

};
class TCNCustomMemoryStream : public TCNStream
{
private:
	void *FMemory;
	int FSize;
	int FPosition;
        friend class TCNMemoryStream;
protected:
	void __fastcall SetPointer(void * Ptr, int Size);

public:
	virtual int __fastcall Read(void *Buffer, int Count);
	virtual int __fastcall Seek(int Offset, WORD Origin);
	void __fastcall SaveToStream(TCNStream* Stream);
public:
        inline __fastcall TCNCustomMemoryStream(void) : TCNStream() { }
        inline __fastcall virtual ~TCNCustomMemoryStream(void) { }
};

class TCNMemoryStream : public TCNCustomMemoryStream
{
private:
	int FCapacity;
	void __fastcall SetCapacity(int NewCapacity);

protected:
	virtual void * __fastcall Realloc(int &NewCapacity);

public:
	__fastcall virtual ~TCNMemoryStream(void);

	void __fastcall Clear(void);
	void __fastcall LoadFromStream(TCNStream* Stream);

	virtual void __fastcall SetSize(int NewSize);
	virtual int __fastcall Write(const void *Buffer, int Count);
public:
        inline __fastcall TCNMemoryStream(void) : TCNCustomMemoryStream() { }
};

enum TCNFileMode{cfmCreate,cfmOpenRead,cfmOpenWrite,cfmOpenReadWrite};

class TCNHandleStream : public TCNStream
{
protected:
        HANDLE FHandle;
public:
	virtual int __fastcall Read(void *Buffer, int Count);
	virtual int __fastcall Write(const void *Buffer, int Count);
	virtual int __fastcall Seek(int Offset, WORD Origin);
};

class TCNFileStream : public TCNHandleStream
{
private:
public:
        TCNFileStream(TCNString FileName, WORD Mode);
        ~TCNFileStream(void);
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -