所以NTFS使用128位的GUID來識別文件和目錄,你可以查看這些信息很容易就夠了:如何讀取目錄和/或文件的128位NTFS FILE_ID?
C:\Temp>C:\Windows\System32\fsutil.exe objectid query . Object ID : ab3ffba83c67df118130e0cb4e9d4076 BirthVolume ID : ca38ec6abfe0ca4baa9b54a543fdd84f BirthObjectId ID : ab3ffba83c67df118130e0cb4e9d4076 Domain ID : 00000000000000000000000000000000
因此,這是明顯不夠的,但一個人如何以編程方式檢索這些信息?看看WinApi的OpenFileById(...)你應該能夠得到這些信息。人們會認爲這是在「Win32 FileID API Library」中完成的,但該方法(GetFileInformationByHandleEx)返回FILE_ID_BOTH_DIR_INFO結構。這個結構定義了一個FileId;然而,它是一個LARGE_INTEGER(64位)而不是完整的128位標識符。
我在猜測一個人可以使用WMI來做這件事,那我應該轉向哪裏?
完美! (不敢相信我沒有找到)Ack - 同意128位id是過度殺毒... – 2010-08-14 17:52:11
但要小心,隨Windows Server 2012引入的ReFS文件系統使用128位文件標識符和對象ID在這樣的捲上,你不能保證獨一無二! – Christoph 2014-02-10 09:17:02