estructura de MULTI_SECTOR_HEADER

[Esta estructura solo es válida para la versión 3 de los volúmenes NTFS; puede modificarse en versiones futuras].

Representa el encabezado multisector.

Sintaxis

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

Miembros

Signature

Signatura. Este valor es una comodidad para el usuario.

UpdateSequenceArrayOffset

Desplazamiento a la matriz de secuencia de actualización, desde el principio de esta estructura. La matriz de secuencia de actualización debe finalizar antes del último valor de USHORT del primer sector.

UpdateSequenceArraySize

Tamaño de la matriz de secuencia de actualización, en bytes.

Observaciones

Tenga en cuenta que no hay ningún archivo de encabezado asociado para esta estructura.

Esta definición de estructura solo es válida para la versión principal 3 y la versión secundaria 0 o 1, según lo notificado por FSCTL_GET_NTFS_VOLUME_DATA.

La matriz de encabezados y secuencias de actualización de variossectores proporciona detección de transferencias de variossector incompletas para dispositivos que tienen un tamaño de sector físico mayor o igual que el intervalo de número de secuencia (512) o que no transfieren sectores desordenados. Si existe un dispositivo que tiene un tamaño de sector menor que el intervalo de número de secuencia y a veces transfiere sectores desordenados, la matriz de secuencia de actualización no proporcionará la detección absoluta de transferencias incompletas. El intervalo de número de secuencia se establece en un número lo suficientemente pequeño como para proporcionar protección absoluta para todos los discos duros conocidos. No se establece ningún menor o puede haber un tiempo de ejecución excesivo o sobrecarga de espacio.

La matriz de secuencia de actualización consta de una matriz de valores de nUSHORT , donde n es el tamaño de la estructura que se protege dividido por el intervalo de número de secuencia. La primera palabra contiene el número de secuencia de actualización, que es un contador cíclico del número de veces que se ha escrito la estructura contenedora en el disco. A continuación, se muestran los valores de USHORT guardados que el número de secuencia de actualización sobrescribió la última vez que se escribió la estructura contenedora en el disco.

Cada vez que la estructura protegida está a punto de escribirse en el disco, la última palabra de cada intervalo de número de secuencia se guarda en su posición respectiva en la matriz de números de secuencia y, a continuación, se sobrescribe con el siguiente número de secuencia de actualización. Después de la escritura, o cada vez que se lee la estructura, la palabra guardada de la matriz de números de secuencia se restaura en su posición real en la estructura. Antes de restaurar las palabras guardadas en las lecturas, todos los números de secuencia al final de cada paso se comparan con el número de secuencia real al principio de la matriz. Si alguna de estas comparaciones no es igual, se ha detectado una transferencia multisector con error.

El tamaño de la matriz viene determinado por el tamaño de la estructura contenedora. La matriz de secuencia de actualización debe incluirse al final del encabezado de la estructura que protege debido a su tamaño variable. El usuario debe asegurarse de que el espacio correcto está reservado para la estructura contenedora: (tamaño de estructura / 512 + 1) * sizeof(USHORT).

Consulte también

Tabla de archivos maestros