Pour chaque attribut, on va retrouver un Header, une partie spécifique si l'attribut est résident ou non, et les données spécifiques de l'attribut.
Offset en hexa | Taille | Description |
0 | 4 | Type |
4 | 4 | Taille |
8 | 1 | Non-resident flag |
9 | 1 | N = Name Length |
A | 2 | Offset jusqu'aux données |
C | 1 | Compressed Flag |
Type | Nom |
10 | $STANDARD_INFORMATION |
20 | $ATTRIBUTE_LIST |
30 | $FILE_NAME |
40 | $VOLUME_VERSION |
50 | $SECURITY_DESCRIPTOR |
60 | $VOLUME_NAME |
70 | $VOLUME_INFORMATION |
80 | $DATA |
90 | $INDEX_ROOT |
A0 | $INDEX_ALLOCATION |
B0 | $BITMAP |
C0 | $SYMBOLIC_LINK |
D0 | $EA_INFORMATION |
E0 | $EA |
Attribut Résident
Offset en hexa | Taille | Description |
10 | 2 | Taille des données spécifiques |
12 | 2 | inconnu |
14 | 2 | Offset des données spécifiques |
16 | 2 | Indexed Flag |
Attribut non-résident
Offset en hexa | Taille | Description |
10 | 8 | Starting VCN |
18 | 8 | Last VCN |
20 | 2 | Offset de la RunList |
22 | 2 | Numero de Compression Engine |
24 | 4 | ???????? |
28 | 8 | Taille Allouée |
30 | 8 | Taille Réelle |
38 | 8 | Taille Initialisée |
Compression Engine :
Pour obtenir un meilleur taux de compression, NT peut utiliser plusieurs algorithmes de compression. Par défaut et pour l'instant, il n'en n'utilise qu'un seul , le 4.
Taille allouée :
C'est un multiple de la taille d'un Cluster. Elle représente la taille nécessaire pour stocker des datas compressées sur le disque. Si les données ne sont pas compressées, cela représente uniquement la taille allouée sur le disque.
Taille réelle :
C'est la taille qu'occupe les données lorsqu'elles ne sont pas compressées.
Taille initialisée :
Taille des données lorsqu'elles sont compressées. Si elles ne les sont pas, c'est la taille réelle.