接口设计方案_第1页
接口设计方案_第2页
接口设计方案_第3页
接口设计方案_第4页
接口设计方案_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、接口设计方案一、设计方案由甲方调用监控模块,控制监控模块的启停、设巻策略等,通过甲方调用监控模块DLL 的接口将监控策略告知监控模块,由监控模块监控相关操作行为,并根据策略配豊调用甲方 提供的文件容检查模块,对相关文件进行文件容筛査,来确泄文件是否是涉密文件。同时通 过甲方程序调用乙方监控模块DLL接口获取监控结果。一、接口部分(监控模块DLL,乙方提供)Fun ctio n:lnitDescription:!/始化操作In put:无Output:无Return: true:成功,false:失败Other:*1、bool lnit();Functio n:SetRuleDescriptio

2、n:设置监控规则lnput:char* pRule:监控规则,XML格式,见附1Output:无Return: true:成功,false:失败Other:2、bool SetRule(char* pRule);Functio n:StartDescription:设置完规则,启动监控规则生效In put:无Output:无Return: true:成功,false:失败Other:扌 */* 京*4(車*3、bool Start();Fun ction:WaitDataDescription:实时等待获取监控数据可以是一条可以是多条。返回监控结果见附2Input:无Output: int &

3、nCount 返回总条数,char*&pData 返回数据。Return: -1.异常0.成功获取数据1.结束/停止(其他地方调用Stop接口停止)Other:建议乙方部实现用信号、核事件等处理方式。4、int WaitData(int &nCount, char*& pData);甲方调用伪代码:ThreadFunc()实时线程While(TRUE)char* pData = NULL;int nCount = 0;int nRet = WaitData(nCount,pData); 等待一条或多条数据时返回,没有数拯就等待。 switch(nRet)1 异常 continue;0.成功获取

4、数据pData0 pDatalx 1.结束/停止(苴他地方调用Stop停止)Return;FreeData(pData);*承京*Function:FreeDataDescription:#放数据存接口,对应WaitData函数 lnput:int nCount要释放的元素数量,char*要释放的数据 Output:无Return:无Other:5、FreeData (int nCount ,char* pData);取*扌 * 京 4t*4t 車*Functio n:StopDescription:停止监控,监控规则失效In put:无Output:无Return: true:成功,fals

5、e:失败Other:6、bool Stop();Functio n:UnlnitDescription: 序退出Input:无Output:无Return: true:成功,false:失败Other:*京*床*京*7、Unlnit();二、文件检查模块/* 接口 说明和 */创建文件检査实例void (*PCreateFileCheckerObject)(IFileChecker *pObject);/释放文件检査实例void (*PReleaseFileCheckerObject)(IFileChecker *pObject):多规则多种关键字组合,则创建多个实例IFileChecker

6、/初始化void Init(const char *pName, const char *pKeyWords): pName:实例名称随意.但多个实例并行时不能重复; pKeyWords:关键词组。格式:;秘密;绝密;/结束调用void Uninit 0;/获取文件信息bool GetFilelnfo(const char *pFilePath, TipsFileBlock *pTFB); pFilePath:文件路径 pTFB:返回数据结构/释放文件信息void FreeFilelnfo(TipsFileBlock * pTFB);pTFB:需要释放的数据结构/停止当前的文件检査void S

7、topCheck0;*/ /(. h)头文件如下#pragmaoncestructTipsFileBlockchar *pKeyWords; /关键了char *pSecretLevel; /密级:秘密、绝密中的个 char*pFileBlock; .7片段;classIFileCheckerpublic: virtualvoidlnit(constchar *pKeyWords) = 0; virtualboolGetFilelnfo(constchar *pFilePath, TipsFileBlock *pTFB) = 0; virtualvoidFreeFilelnfo(TipsFil

8、eBlock * pTFB) = 0;virtualvoidUnlnit () = 0; virtualvoidStopCheck 0 = 0;typedefvoid (*PCreateFileCheckerObject)(IFileChecker *pObject); typedefvoid (*PRe1easeFi1eCheckerObject)(IFileChecker *pObject);/头文件 end示例/获取接口类HMODULE hDll = LoadLibrary(_T(7TipsFileChecker. dll);if (NULL =hDll) return;PCreateF

9、ileCheckerObjectpCreateFileChecker = (PCreateFileCheckerObject)GetProcAddress(hDll, CreateFileCheckerObject?);PRcleaseFileCheckerObjectpReleaseFileChecker = (PReleaseFileCheckerObject)GetProcAddress(hDll, ReleaseFileCheckerObject*);if (NULL = pCreateFileChecker NULL = pReleaseFileChecker) return;IFi

10、leChecker* pFileChecker = NULL;pCreat eFi1eChecker(&pFileChecker);/初始化捉供关键字CStringAstrName = FeiMir; /多个实例名称任意,但不同。例如:FeiMi2. FeiMi3 CStringAstrKeyWords =秘密;绝密; pFileChecker-Init(strXame, strKeyWords);/文件命中片段捉取CStringAstrFilePath = C:123. docx:TipsFileBlockfb;pFileChecker*GetF1lelnfo(strFilePath, &f

11、b);/.pFileChecker-FreeFilelnfo(&fb);/结束释放pFileCheckerStopCheck 0;pFileChecker-UnInit();pReleaseFileChecker(&pFileChecker);FreeLibrary(hDll);三、附附1: 规则XML:TipsTypeType = Rule解释:TipsType Type 二Rule为规则 xmlIsMon:是否监控1监控0不监控MonPath:监控文件夹,采用分号拼接,如果为空表示全盘监控MonFileType:监控文件类型,采用分号拼接,如果为空表示不限类型IsBan:是否拦截1拦截0不拦截FileNameWords:文件名检査关键字,如果为空表示不检查Cont ent Words:文件容检査关键字,如果为空表示不检查Wh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论