1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- // 下列 ifdef 块是创建使从 DLL 导出更简单的
- // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 SHAREMEMORY_BLOCK_EXPORTS
- // 符号编译的。在使用此 DLL 的
- // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
- // SHAREMEMORY_BLOCK_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
- // 符号视为是被导出的。
- #pragma once
- #ifndef SHAREMEMORY_BLOCK_EXPORTS
- #ifdef _WIN64
- #ifdef _DEBUG
- #pragma comment(lib, "ShareMemory_BlockX64D.lib")
- #else
- #pragma comment(lib, "ShareMemory_BlockX64.lib")
- #endif
- #else
- #ifdef _DEBUG
- #pragma comment(lib, "ShareMemory_BlockD.lib")
- #else
- #pragma comment(lib, "ShareMemory_Block.lib")
- #endif
- #endif
- #endif
- #ifdef SHAREMEMORY_BLOCK_EXPORTS
- #define SHAREMEMORY_BLOCK_API __declspec(dllexport)
- #define SHAREMEMORY_BLOCK_C_API extern "C" __declspec(dllexport)
- #else
- #define SHAREMEMORY_BLOCK_API __declspec(dllimport)
- #define SHAREMEMORY_BLOCK_C_API extern "C" __declspec(dllimport)
- #endif
- #include "ShareMemory_Client.h"
- // 此类是从 ShareMemory_Block.dll 导出的
- class SHAREMEMORY_BLOCK_API CShareMemory_Block
- {
- void * m_pSMC;
- DWORD * m_pBid;
- public:
- CShareMemory_Block(void);
- ~CShareMemory_Block(void);
- // TODO: 在此添加您的方法。
- virtual bool ShareMemoryBlockSet(DWORD Bid, int AccessFlags);
- bool Read(LPVOID buff, DWORD size);
- bool Write(LPVOID buff, DWORD size);
- bool GetBlockDataAddr(LPVOID & buff, DWORD & size);//获取到的buff是去除SMCELEMENTHEAD的整块block的首地址(如果是image数据则包含imageinfo及预留的2k头大小),size为去除SMCELEMENTHEAD的整块block大小
- //CShareMemory_Block & operator = (CShareMemory_Block & SMBobj);
- };
|