2013-08-05 49 views
1

如果我有所有指向目錄以外的文件的幾個硬鏈接的目錄,會更改爲硬鏈接的一個影響與目錄相關聯的USN日誌還是會影響的USN日誌原始目錄中包含硬鏈接在創建時鏈接到的實際文件?USN日記硬鏈接

+0

任何想法的人? – jester

回答

2

當您添加的硬鏈接USN_REASON_HARD_LINK_CHANGE該雜誌將得到一個條目。然後,隨着時間的推移,任何硬鏈接都可能被打開,並且進行更改。隨後的USN條目將全部引用原始文件的FileReferenceNumber,但將包含FileName和ParentFileReferenceNumber,這取決於哪個鏈接實際打開。這是你有可用來區分鏈接。請注意,僅使用ParentFileReferenceNumber可能很有區別,但這並不安全。雖然最廣泛使用的模式是在不同目錄中具有相同名稱的鏈接,但您可以在同一目錄中使用不同名稱的鏈接。關於移動的鏈接的注意事項:如果您選擇以「摘要模式」(您的READ_USN_JOURNAL_DATA_V0的ReturnOnlyOnClose = 1)讀取USN,只讀取累積到文件關閉點的條目,則可能會錯過USN_REASON_RENAME_OLD_NAME條目......並且忽略重命名所經過的鏈接。這種USN記錄不會累積到文件關閉事件中......我猜測是因爲ParentFileReferenceNumber和FileName的潛在衝突。