structure STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR (ntddstor.h)
La structure STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR est utilisée conjointement avec la demande de IOCTL_STORAGE_QUERY_PROPERTY pour récupérer les données de descripteur d’alignement de l’accès au stockage pour un appareil.
Syntaxe
typedef struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR {
ULONG Version;
ULONG Size;
ULONG BytesPerCacheLine;
ULONG BytesOffsetForCacheAlignment;
ULONG BytesPerLogicalSector;
ULONG BytesPerPhysicalSector;
ULONG BytesOffsetForSectorAlignment;
} STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR, *PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR;
Membres
Version
Contient la taille de la structure STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR. La valeur de ce membre change à mesure que les membres sont ajoutés à la structure.
Size
Spécifie la taille totale du descripteur, en octets.
BytesPerCacheLine
Nombre d’octets dans une ligne de cache de l’appareil.
BytesOffsetForCacheAlignment
Décalage d’adresse nécessaire pour un alignement approprié de l’accès au cache, en octets.
BytesPerLogicalSector
Nombre d’octets dans un secteur logique de l’appareil.
BytesPerPhysicalSector
Nombre d’octets dans un secteur physique de l’appareil.
BytesOffsetForSectorAlignment
Décalage du secteur logique dans le premier secteur physique où le premier secteur logique est placé, en octets.
Exemple : Offset = 3 secteurs logiques
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|LBA |X|X|X|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|Physical | | |
|Sector | 0 | 1 | 2
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Dans cet exemple, BytesOffsetForSectorAlignment = 3 * size_of_logical_sector.
Remarques
Les pilotes de classe de stockage émettent une demande de contrôle d’appareil avec le code de contrôle d’E/S IOCTL_STORAGE_QUERY_PROPERTY pour récupérer cette structure, qui contient des informations d’alignement d’accès pour les opérations de transfert de données. La structure peut être récupérée à partir de l’objet d’appareil pour le bus ou à partir d’un FDO, qui transfère la requête au bus sous-jacent.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntddstor.h (include Ntddstor.h) |