2010-11-18 88 views
0

我開發了一種C++算法,它將USB密鑰的內容保存在數據庫中。在數據庫中,以及將保存的文件名保存在USB設備信息:免費模塊和供應商。 所以當我把更多的控制鍵空閒塊。 如果比較發生變化,則必須重新創建數據庫。所以如果我刪除或添加文件到USB密鑰,數據庫從頭開始重建。但是當我重命名一個文件時,沒有任何反應。 您可以找出更改,而不必檢查數據庫中的每個文件?檢查USB內容

如何更好地控制USB設備的全部內容?一些幫助!

謝謝!

P.s .:我用供應商名稱和免費塊ioctl!

回答

0

您可以從文件夾文件列表創建一個哈希值並將其存儲在您的數據庫中。

每次插入USB記憶棒時都執行文件夾列表的哈希計算,並與存儲的值進行比較。如果它們不同,則可以假定文件已被刪除,添加或重命名並執行數據庫刷新。

0

如果您控制操作系統和USB密鑰,您可以使用NTFS。它具有更改日誌功能。這包含更新序號(USN)。對密鑰的任何更改都會更改USN。所以,你只需要在數據庫中保存舊的值。如果您看到新值,請重新讀取整個文件系統並更新數據庫中的USN。