我有一個軟件正在使用捲過濾器驅動程序跟蹤Windows OS上的NTFS卷更改。當我的驅動程序安裝在操作系統之外時,我需要處理一個情況,當這個卷被安裝和修改時。確定NTFS卷是否安裝在外部
是否有可能找出卷的「最後安裝時間」?或任何其他參數,讓我告訴如果卷已安裝在我的驅動程序控制之外?
我有一個軟件正在使用捲過濾器驅動程序跟蹤Windows OS上的NTFS卷更改。當我的驅動程序安裝在操作系統之外時,我需要處理一個情況,當這個卷被安裝和修改時。確定NTFS卷是否安裝在外部
是否有可能找出卷的「最後安裝時間」?或任何其他參數,讓我告訴如果卷已安裝在我的驅動程序控制之外?
我不知道「上次安裝時間」,但有一個「日誌文件打開計數」。如果你看一下http://www.opensource.apple.com/source/ntfs/ntfs-64/kext/ntfs_logfile.h,你會看到一個RESTART_AREA
結構是這樣的:
/* 40*/ le32 restart_log_open_count;/* A counter that gets incremented every time the logfile is restarted which happens at mount time when the logfile is opened. When creating set to a random value. Win2k sets it to the low 32 bits of the current system time in NTFS format (see time.h). */ /* 44*/ le32 reserved; /* Reserved/alignment to 8-byte boundary. */ /* sizeof() = 48 (0x30) bytes */ } __attribute__((__packed__)) RESTART_AREA;你可以看到,靠近它的末端是
restart_log_open_count
,你可以用它來跟蹤坐騎。您會查看該值並將其與保存的值進行比較。它應該等於保存的值加1。如果是這樣,它從上次控制起就沒有掛上。
非常感謝!只是創建了一個測試程序來檢查它 - 事實上,每次卷裝入時,值都會正確遞增。 – Isso
你的意思是由Windows安裝,還是由任何工具(如Linux NTFS驅動程序)裝載? – Gabe
任何工具,但如果你有Windows-only解決方案,我會感激它:) – Isso
檢查USN如何? –