Share via


關於佔位元

文件系統佔位元是檔案或位於其他地方之目錄之實際內容的表示法。 此優化可讓檔案或目錄的實際內容位於其他地方,並視需要擷取。 實際內容包括元數據、檔案數據和目錄專案。

佔位元可以是檔案或目錄。 它們可能包含實際檔案或目錄元數據的一部分,或實際檔案數據或目錄專案的一部分。 佔位符檔案會標示為FILE_ATTRIBUTE_SPARSE_FILE位集的疏鬆檔案。

一般而言,佔位元是文件系統迷你篩選擁有和管理的重新分析點。 擁有迷你篩選是虛擬化的啟用者,可讓佔位元的外觀和行為與文件系統上的一般檔案或目錄一樣。 這些虛擬化驅動程式會攔截其佔位元上的IO要求,並加速類似檔系統的行為。 ProjFsCloud Files 是 Windows 中使用佔位符的兩個虛擬化平台範例。

擁有佔位元的迷你篩選能夠適當地處理這類 IO 要求,以滿足 IO。 例如,如果應用程式嘗試讀取已解除凍結的佔位符檔案,迷你篩選會讓檔案數據滿足 IO 要求。

擁有迷你篩選只能提供源自於使用者模式的 IO 要求虛擬化,或從 IO 堆疊中位於這些要求上方的元件提供虛擬化。

未擁有佔位符的迷你篩選可以使用 FltReadFileFltWriteFile 等 API,發出以篩選為目標的 IO 作業。 如果非擁有迷你篩選向擁有迷你篩選下方的佔位符檔案發出目標 IO 要求,則擁有迷你篩選無法適當地滿足 IO 要求。

例如,如果篩選條件發出目標 FltReadFile 到擁有迷你篩選看不到的已解除凍結佔位符檔案,則目標篩選可能會取得零的區塊, (0s) ,而不是實際數據,因為佔位元可能是疏鬆檔案。 如果系統快取擷取 0s 區塊的讀取,則此讀取會破壞快取,如果系統將快取排清至磁碟的快取,可能會損毀檔案數據。 因此,迷你篩選必須 適當地處理佔位符