用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

59 lines
1.5 KiB

// MemMapFile.h: interface for the CShareMemBuffer class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(_SHAREMEMBUFFER_H__015AC2F8_C982_43A8_916D_EEA49B31428B__INCLUDED_)
#define _SHAREMEMBUFFER_H__015AC2F8_C982_43A8_916D_EEA49B31428B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <interface/sipcobj-i.h>
namespace SOUI
{
class CShareMemBuffer : public IShareBuffer
{
#pragma pack(push,4)
struct BufHeader {
DWORD dwSize; //buf size.
DWORD dwTailPos; //data tail pos
DWORD dwPos; //current pos for read and write.
};
#pragma pack(pop)
public:
CShareMemBuffer();
virtual ~CShareMemBuffer();
BOOL OpenMemFile(LPCTSTR pszName,DWORD dwMaximumSize, void * pSecurityAttr= NULL);
void Close();
protected:
BufHeader *GetHeader() { return m_pHeader; }
BYTE * GetBuffer() { return m_pBuffer; }
const BufHeader* GetHeader() const { return m_pHeader; }
const BYTE * GetBuffer() const { return m_pBuffer; }
public:
// ͨ¹ý IShareBuffer ¼Ì³Ð
virtual int Write(const void * pBuf, UINT nLen) override;
virtual int Read(void *pBuf, UINT nLen) override;
virtual UINT Tell() const override;
virtual UINT Seek(SEEK mode, int nOffset) override;
virtual void SetTail(UINT uPos) override;
virtual BOOL Lock(DWORD timeout) override;
virtual void Unlock() override;
protected:
HANDLE m_hMap;
HANDLE m_hMutex;
void * m_pMemBuf;
BufHeader * m_pHeader;
BYTE * m_pBuffer;
};
}
#endif // !defined(_SHAREMEMBUFFER_H__015AC2F8_C982_43A8_916D_EEA49B31428B__INCLUDED_)