char *m_pfilename; // 映射文件名
char *m_pmapname; // 內存文件名 dword m_dwsize; // 緩衝區大小bool m_bcreateflag; // 是否已創建共享內存
dword m_dwlasterror; // 錯誤代碼private:
void _init(); // 初始化參數 bool _iswinntlater(); // 判斷當前操作系統public:
bool create(char *szfilename = default_filename, char *szmapname = default_mapname, dword dwsize = default_mapsize); // 新建共享內存 lpvoid getbuffer(); // 獲取內存文件指針 dword getsize(); // 獲取內存文件大小 void destory(); // 銷毀已有的共享內存bool writecmddata( // 寫入命令數據
dword ncommandcode, dword dwdatasize, const lpvoid pbuf); };//////////////////////////////////////////////////////////////////////
// 類定義,共享內存客戶端 class cffmclient { public: cffmclient(); virtual ~cffmclient(); cffmclient(dword dwaccess, char *szmapname, dword dwsize); protected: handle m_hfilemap; // 內存文件句柄 lpvoid m_lpfilemapbuffer; // 內存文件指針 char *m_pmapname; // 內存文件名bool m_bopenflag; // 是否已經打開了一個內存文件
dword m_dwlasterror; // 錯誤代碼 private: void _init(); // 初始化參數 public: bool open(dword dwaccess = file_map_read, char *szmapname = default_mapname, dword dwsize = 0); // 打開一個內存文件 lpvoid getbuffer(); // 獲取當前內存文件的指針 void destory(); // 關閉當前對內存文件的訪問bool getcmddatasize(dword *pdatasize); // 讀取命令數據大小
bool readcmddata( // 讀取命令數據 dword dwcommandcode, dword dwbufsize, lpvoid poutbuf); };#endif // fzd_ffmclass_h
/****************************************************************** ++ file name : ffmclass.cpp ++ description: 共享內存類 --------------------------------------------------------------- ++ author: fei zhaodong ++ create time: 2004/3/25 上午 10:00:00 ++ version: 1.0 ... 下一页