STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR structure (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 du descripteur d’alignement d’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 des 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 l’alignement correct 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 de 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 de périphérique 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 d’un FDO, qui transfère la requête au bus sous-jacent.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddstor.h (inclure Ntddstor.h) |