共用方式為


MULTI_SECTOR_HEADER 結構

[此結構僅適用于 NTFS 磁片區第 3 版;未來版本可能會改變。]

表示多秒標頭。

語法

typedef struct _MULTI_SECTOR_HEADER {
  UCHAR  Signature[4];
  USHORT UpdateSequenceArrayOffset;
  USHORT UpdateSequenceArraySize;
} MULTI_SECTOR_HEADER, *PMULTI_SECTOR_HEADER;

成員

簽章

簽章。 這個值是使用者的便利性。

UpdateSequenceArrayOffset

更新序列陣列的位移,從這個 結構的開頭開始。 更新順序陣列必須在第一個磁區的最後一個 USHORT 值之前結束。

UpdateSequenceArraySize

更新序列陣列的大小,以位元組為單位。

備註

請注意,此結構沒有相關聯的標頭檔。

此結構定義僅適用于主要版本 3 和次要版本 0 或 1,如 FSCTL_GET_NTFS_VOLUME_DATA所報告。

multisector 標頭和更新順序陣列可為實體磁區大小大於或等於序號的裝置,提供未完成的多秒傳輸偵測, (512) 或未依序傳輸磁區。 如果裝置的磁區大小小於序號步調,而且有時會依序傳輸磁區,則更新順序陣列不會提供未完成傳輸的絕對偵測。 序號步進設定為夠小的數位,以提供所有已知硬碟的絕對保護。 它不會設定較小,或可能會有過多的執行時間或空間額外負荷。

更新序列陣列是由 nUSHORT 值的陣列所組成,其中 n 是受保護的結構大小除以序號步進。 第一個字包含更新序號,這是包含結構已寫入磁片之次數的迴圈計數器。 接下來是上次將包含結構寫入磁片時,由更新序號覆寫的 n 儲存 USHORT 值。

每當受保護的結構即將寫入磁片時,每個序號步幅中的最後一個字都會儲存到序號陣列中的個別位置,然後使用下一個更新序號覆寫。 在寫入之後,或每當讀取結構時,從序號陣列儲存的字會還原到結構中的實際位置。 在讀取時還原儲存的字組之前,每個步幅結尾的所有序號都會與陣列開頭的實際序號進行比較。 如果上述任一比較不相等,則偵測到失敗的多秒傳輸。

陣列的大小取決於包含結構的大小。 更新順序陣列應該包含在結構標頭的結尾,因為其大小可變。 使用者必須確定已針對包含結構保留正確的空間: (結構大小 / 512 + 1) * sizeof (USHORT) 。

另請參閱

主要檔案資料表