IPropertyStorage-NTFS 檔案系統實作

當檔案不是複合檔案時,NTFS 5.0 版會為 NTFS 磁片區上的檔案提供 IPropertyStorage 介面的實作。

取得 IPropertySetStorage 之 NTFS 檔案系統實作的指標

  1. 使用IPropertySetStorage 的 NTFS 實作呼叫 IPropertySetStorage::Create
  2. 使用IPropertySetStorage的 NTFS 實作呼叫IPropertySetStorage::Open

使用時機

使用 IPropertyStorage 來管理單一屬性集內的屬性。 其方法支援讀取、寫入和刪除屬性,以及可以與屬性識別碼相關聯的選擇性字串名稱。 另一種方法可讓您設定與屬性儲存體相關聯的時間,另一個方法允許指派 CLSID,以用來將其他程式碼關聯,例如使用者介面 (UI) 程式碼與屬性集。 呼叫 Enum 方法會提供 IEnumSTATPROPSTG之 NTFS 實作的指標,可讓您列舉集合中的屬性。

備註

NTFS 實作基本上提供與複合檔案實作相同的功能。 如需詳細資訊,請參閱 IPropertyStorage-Compound File 實作

因為 NTFS 是健全的檔案系統,所以 NTFS 屬性集永遠不會處於不正確的狀態。 當 NTFS IPropertyStorage 的內容排清到基礎 NTFS 檔案時,即使作業期間發生異常進程終止之類的失敗,所有或沒有任何狀態都會寫入檔案作為不可部分完成的作業。 若要使用複合檔案實作達到類似的行為,父 IPropertySetStorage 介面必須在交易模式中開啟。

只有在存取在 NTFS 5.0 磁片區上設定的 NTFS 屬性時,才能達到此強固性層級。 例如,在舊版 NTFS (上存取 NTFS 屬性集,例如,在 Windows NT 或 Windows 2000 上執行的電腦存取在 Windows NT 4.0) 上執行的檔案伺服器電腦上存取屬性集,但不會保證在發生非預期的失敗時處於正確狀態。

雖然 IPropertySetStorage 的 NTFS 實作不支援交易, 但 IPropertyStorage 的 NTFS 實作支援它。 也就是說,STGM_TRANSACTED可以在grfMode參數中指定為IPropertySetStorageCreateOpen方法。 如同複合檔案實作,交易模式僅適用于非簡單屬性儲存體, (在grfFlags參數) 中指定PROPSETFLAG_NONSIMPLE

IPropertyStorage

IPropertySetStorage-NTFS 檔案系統實作