接口設計方案(共7頁)_第1頁
接口設計方案(共7頁)_第2頁
接口設計方案(共7頁)_第3頁
接口設計方案(共7頁)_第4頁
接口設計方案(共7頁)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上接口設計方案一、設計方案由甲方調(diào)用監(jiān)控模塊,控制監(jiān)控模塊的啟停、設置策略等,通過甲方調(diào)用監(jiān)控模塊DLL的接口將監(jiān)控策略告知監(jiān)控模塊,由監(jiān)控模塊監(jiān)控相關操作行為,并根據(jù)策略配置調(diào)用甲方提供的文件內(nèi)容檢查模塊,對相關文件進行文件內(nèi)容篩查,來確定文件是否是涉密文件。同時通過甲方程序調(diào)用乙方監(jiān)控模塊DLL接口獲取監(jiān)控結(jié)果。甲方文件內(nèi)容檢查模塊甲方程序監(jiān)控監(jiān)控模塊DLL一、接口部分(監(jiān)控模塊DLL,乙方提供)*Function:InitDescription:初始化操作Input:無Output:無Return:true:成功,false:失敗Other:*1、bool Ini

2、t();*Function:SetRuleDescription:設置監(jiān)控規(guī)則Input:char* pRule:監(jiān)控規(guī)則,XML格式,見附1Output:無Return:true:成功,false:失敗Other:*2、bool SetRule(char* pRule);*Function:StartDescription:設置完規(guī)則,啟動監(jiān)控規(guī)則生效Input:無Output:無Return:true:成功,false:失敗Other:*3、bool Start();*Function:WaitDataDescription:實時等待獲取監(jiān)控數(shù)據(jù)可以是一條可以是多條。返回監(jiān)控結(jié)果見附2In

3、put:無Output:int &nCount返回總條數(shù),char*&pData返回數(shù)據(jù)。Return:-1.異常0.成功獲取數(shù)據(jù)1.結(jié)束 / 停止(其他地方調(diào)用Stop接口停止)Other:建議乙方內(nèi)部實現(xiàn)用信號、內(nèi)核事件等處理方式。*4、int WaitData(int &nCount, char*& pData);甲方調(diào)用偽代碼:ThreadFunc()/實時線程While(TRUE) char* pData = NULL; int nCount = 0; int nRet = WaitData(nCount,pData);/等待一條或多條數(shù)據(jù)時返回,沒有

4、數(shù)據(jù)就等待。 switch(nRet) -1.異常continue;0.成功獲取數(shù)據(jù) pData0、pData1、1.結(jié)束 / 停止(其他地方調(diào)用Stop停止) Return;FreeData(pData);*Function:FreeDataDescription:釋放數(shù)據(jù)內(nèi)存接口,對應WaitData函數(shù)Input:int nCount 要釋放的元素數(shù)量,char*要釋放的數(shù)據(jù)Output:無Return:無Other:*5、FreeData (int nCount ,char* pData);*Function:StopDescription:停止監(jiān)控,監(jiān)控規(guī)則失效Input:無Outp

5、ut:無Return:true:成功,false:失敗Other:*6、bool Stop();*Function:UnInitDescription:程序退出Input:無Output:無Return:true:成功,false:失敗Other:*7、UnInit();二、文件檢查模塊/*接口說明*/創(chuàng)建文件檢查實例void (*PCreateFileCheckerObject)(IFileChecker *pObject);/釋放文件檢查實例void (*PReleaseFileCheckerObject)(IFileChecker *pObject);多規(guī)則多種關鍵字組合,則創(chuàng)建多個實例

6、- IFileChecker-/初始化void Init(const char *pName, const char *pKeyWords);pName:實例名稱隨意。但多個實例并行時不能重復;pKeyWords: 關鍵詞組。格式:"機密;秘密;絕密;"/結(jié)束調(diào)用void UnInit();/獲取文件信息bool GetFileInfo(const char *pFilePath, TipsFileBlock *pTFB);pFilePath:文件路徑pTFB:返回數(shù)據(jù)結(jié)構(gòu)/釋放文件信息void FreeFileInfo(TipsFileBlock * pTFB);pTFB

7、:需要釋放的數(shù)據(jù)結(jié)構(gòu)/停止當前的文件檢查void StopCheck();*/-(.h)頭文件如下-#pragmaoncestructTipsFileBlockchar *pKeyWords;/關鍵字char *pSecretLevel;/密級:秘密、機密、絕密中的一個char*pFileBlock;/片段;classIFileCheckerpublic:virtualvoidInit(constchar *pKeyWords) = 0;virtualboolGetFileInfo(constchar *pFilePath, TipsFileBlock *pTFB) = 0;virtualvo

8、idFreeFileInfo(TipsFileBlock * pTFB) = 0;virtualvoidUnInit() = 0;virtualvoidStopCheck() = 0;typedefvoid (*PCreateFileCheckerObject)(IFileChecker *pObject);typedefvoid (*PReleaseFileCheckerObject)(IFileChecker *pObject);/-頭文件 end-/示例/-獲取接口類-HMODULE hDll = LoadLibrary(_T("TipsFileChecker.dll"

9、;);if (NULL =hDll) return;PCreateFileCheckerObjectpCreateFileChecker = (PCreateFileCheckerObject)GetProcAddress(hDll,"CreateFileCheckerObject");PReleaseFileCheckerObjectpReleaseFileChecker = (PReleaseFileCheckerObject)GetProcAddress(hDll,"ReleaseFileCheckerObject");if (NULL = pCr

10、eateFileChecker | NULL = pReleaseFileChecker) return;IFileChecker* pFileChecker = NULL;pCreateFileChecker(&pFileChecker);/-初始化提供關鍵字-CStringAstrName = "FeiMi1"/多個實例名稱任意,但不同。例如:FeiMi2、FeiMi3、CStringAstrKeyWords = "秘密;機密;絕密; "pFileChecker->Init(strName,strKeyWords);/-文件命中片段提取

11、-CStringAstrFilePath = "C:123.docx"TipsFileBlockfb;pFileChecker->GetFileInfo(strFilePath,&fb);/.pFileChecker->FreeFileInfo(&fb);/-結(jié)束釋放-pFileChecker->StopCheck();pFileChecker->UnInit();pReleaseFileChecker(&pFileChecker);FreeLibrary(hDll);三、附附1:規(guī)則XML:<TipsTCM>&l

12、t;TipsTypeType = "Rule"><Rule><NetOperIsMon = "1"Type = "上傳;下載;"MonFileType = "txt;doc;"MonProcess ="qq.exe;explorer.exe;"WhiteProcess = "explorer.exe;wps.exe;"IsBan ="0"><NetContentIsMon = "1"Type = &q

13、uot;上傳;下載;"FileNameWords = "秘密;絕密;"ContentWords = "秘密;絕密;"MonFileType = "txt;doc;"MonProcess ="qq.exe;explorer.exe;"WhiteProcess = "word.exe;wps.exe;"IsBan ="0"></Rule></TipsType></TipsTCM>解釋:TipsType Type = "

14、Rule"為規(guī)則xmlIsMon:是否監(jiān)控 1監(jiān)控 0不監(jiān)控MonPath:監(jiān)控文件夾,采用分號拼接,如果為空表示全盤監(jiān)控MonFileType:監(jiān)控文件類型,采用分號拼接,如果為空表示不限類型IsBan:是否攔截 1攔截 0不攔截FileNameWords:文件名檢查關鍵字,如果為空表示不檢查ContentWords:文件內(nèi)容檢查關鍵字,如果為空表示不檢查WhiteProcess:進程白名單WhitePath:監(jiān)控路徑白名單MonProcess:監(jiān)控進程,如果為空表示全部監(jiān)控附2:結(jié)果XML:NET操作行為監(jiān)控舉例:<TipsTCM><TipsTypeType =

15、 "Result"><TipsResultType="NetOper"><Result FilePath = "c:1.txt" Process = "explorer.exe"OperType ="上傳"FileType = "txt "IsBan ="0"/></TipsResult></TipsType></TipsTCM><TipsTCM><TipsTypeType

16、 = "Result"><TipsResultType="NetOper"><Result FilePath = "c:1.txt" Process = "explorer.exe"OperType ="下載"FileType = "txt "IsBan ="0"/></TipsResult></TipsType></TipsTCM>Net內(nèi)容監(jiān)控舉例:<TipsTCM><TipsTypeType = "Result"><TipsResultType ="NetContent "><Result

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論