接口设计方案_第1页
接口设计方案_第2页
接口设计方案_第3页
接口设计方案_第4页
接口设计方案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

接口设计方案

一、设计方案

由甲方调用监控模块,控制监控模块的启停、设置方略等,通过甲方调用监控模块DLL

的接口将监控方略告知监控模块,由监控模块监控有关操作行为,并根据方略配置调用甲方

提供的文献内容检查模块,对有关文献进行文献内容筛查,来确定文献与否是涉密文献。同

步通过甲方程序调用乙方监控模块DLL接口获取监控成果。

一、接口部分(监控模块DLL,乙方提供)

************************************

Functionlnit

Description:初始化操作

Input:无

Output:无

Return:true:成功,false:失败

Other:

***********************************

boollnit();

************************************

Function:SetRule

Description:设置监控规则

Inputxhar*pRule:监控规则,XML格式,见附1

Output:无

Return:true:成功,false:失败

Other:

***********************************

2、boolSetRule(char*pRule);

************************************

Function:Start

Description:设置完规则,启动监控规则生效

Input:无

Output:无

Return:true:成功,false:失败

Other:

***********************************

3、boolStart();

************************************

Function:WaitData

Description:实时等待获取监控数据可以是一条可以是多条。返回监控成果见附2

Input:无

Output:int&nCount返回总条数,char**&pData返回数据。

Return:-1.异常。.成功获取数据1.结束/停止(其他地方调用5top接口停止)

Other:提议乙方内部实现月信号、内核事件等处理方式。

***********************************

4、intWaitDatafint&nCount,char**&pData);

甲方调用伪代码:

ThreadFunc()〃实时线程

Whilp(TRUF)

char**pData=NULL;

intnCount=0;

intnRet=WaitData(nCount,pData);〃等待一条或多条数据时返回,没有数据就等待。

switch(nRet)

(

.异常continue;

。.成功获取数据pData[0]^pDatafl]%........

1.结束/停止(其他地方调用Stop停止)Return;

)

FreeData(pData);

************************************

Function:FreeData

Description:释放数据内存接口,对■应WaitData函数

lnput:intnCount要释放的元素数量,char**要释放的数据

Output:无

Return:无

Other:

***********************************

5、FreeData(intnCount,char**pData);

************************************

Function:Stop

Description:停止监控,监左规则失效

Input:无

Output:无

Return:true:成功,false:失败

Other:

***********************************

6、boolStop();

************************************

Function:Unlnit

Description:程序退出

Input:无

Output:无

Return:true:成功,false:失败

Other:

***********************************

7、Unlnit();

二、文献检查模块

/*********************接口阐明***************************

〃创立文献检查实例

void(*PCrcateEileCheckerObjoct)(IFilcChockcr**pObject);

〃释放文献检去实例

void(*PReleaseFileCheckerObject)(IFileChecker**pObject);

多规则多种关键字组合,则创立多种实例

IFileChecker

〃初始化

voidInit(constchar*p\ame,constchar*pKcyWords);

pName:实例名称随意。但多种实例并行时不能反复;

pKeyWords:关键词组。格式:"机密;秘密;绝密;“

〃结束调用

voidUninit();

〃获取文献信息

boolGetKilelnfo(constchar*pFilePath,TipsFileBlock*pTFB);

pFilePath:文献途径

pTFB:返回数据构造

〃释放文献信息

voidFreeFilelnfo(TipsFileBlock*pTFB);

pTFB:需要释放的数据构造

〃停止目前的文献检查

voidStopCheck();

*************************************************************/

//------------------------------(.h)头文献如下----------------

#pragmaonce

structTipsFiIcBlock

char*pKeyWords;〃美键字

char*pSecretLevel;〃密级:秘密、机密、绝密中的一种

char*pFileBlock;〃片段

};

classIFileChecker

(

public:

virtualvoidlnit(constchar*pKeyWords)=0;

virtualboolGetFilelnfo(constchar*pFilePath,TipsFileBlock*pTFB)=0;

virtualvoidFrecFildnfo(TipsFiIcBlock*pTFB)=0;

virtualvoidUnlnit()=0;

virtua1voidStopCheck()=0;

);

typedefvoid(*PCreatcFiIcChcckerObjcct)(IFileChecker**p0bject);

typedefvoid(*PReleaseFileCheckerObject)(IFileChecker**pObject);

//-----------------------------头文献end------------------------------

〃示例

//--------------获取接口类一

UMODULEhDl1=LoadLibrary(_TCTipsFileChecker.dlP));

if(NULL==hDll)return;

PCreateFileCheckerObjec:pCreateFileChecker=

(PCreateFileCheckerObject)GetProcAddress(hDl1,'CreateFiIcCheckerObject");

PReleaseFi1eCheckerObjectpReleaseFi1eChecker=

(PReleaseFileCheckerObject)GetProcAddress(hDll,*ReleaseFileCheckerObject*);

if(NULL==pCreateFileChecker|INULL==pRe1easeFi1eChecker)return;

IFilcChcckcr*pFilcCheckcr=NULL;

pCreateFileChecker(&pFileChecker);

//---------------初始化提供关键字------------

CStringAstrName="FeiMil”;〃多种实例名称任意,但不一样。例如:FeiMi2、FeiMi3、...

CStringAstrKeyWords="秘海;机密;绝密;

pFi1eChecker->1nit(strName,strKeyWords);

//----------------文献命中片段提取一

CStringAstrFilePath="C:\\123.docx”;

TipsFileBlockfb;

pFileChecker->GetFilelnfo(strFilePath,&fb);

pFi1eChecker->FreeFilelnfo(&fb);

//----------------------结束释放----------------

pFi1eChecker->StopCheck();

pFileChecker->UnInit();

pReleascFiIcChecker(&pFi1eChecker);

FreeLibrary(hDll):

三、附

附1:

规则XML:

<TipsTCM>

<TipsTypeType="Rule")

<Rule>

<NetOperIsMon="1"Type="上传;下载;"MonFileType="txt;doc;"MonProcess

=*qq.exe;explorer,exe:*WhiteProcess=^explorer.exe:wps.exe:*IsBan="0">

<NelContentIsMon="1"Type="上传;下载;"FileNameWords="秘密;绝密;"ConlenlNards=

”秘密;绝密;"MonFileType="txt;doc;"MonProcess-*qq.exe:explorer.exe;*WhiteProcess=

“word.exe;wps.exe;*IsBan=*0*>

</Rule>

</TipsType>

</TipsTCM>

解释:

TipsTypeType="Rule"为规则xml

IsUon:与否监控1监控C不监控

MonPath;监控文献夹,采用分号拼接,假如为空表达全盘监控

MonFileType:监控文献类型,采用分号拼接,假如为空表达不限类型

IsBan:与否拦截1拦截0不拦截

FileNameWords:文献名检查关键字,假如为空表达不检查

Contentwords:文献内容检查关键字,假如为空表达不检查

WhitePi'occss:进程白名单

WhitePalh:监控途径白名单

MonProcess:监控进程,假如为空表达所有监控

附2:

成果XML:

NET操作行为监控举例:

<TipsTCM>

<TipsTypeType="Result”》

<TipsResultType=*NetOper*>

<ResultFilePath="c:\l.txt"

温馨提示

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

评论

0/150

提交评论