structure DISK_CACHE_INFORMATION (ntdddisk.h)
La structure DISK_CACHE_INFORMATION est utilisée avec la demande de IOCTL_DISK_GET_CACHE_INFORMATION pour récupérer les informations du cache.
Syntaxe
typedef struct _DISK_CACHE_INFORMATION {
BOOLEAN ParametersSavable;
BOOLEAN ReadCacheEnabled;
BOOLEAN WriteCacheEnabled;
DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
USHORT DisablePrefetchTransferLength;
BOOLEAN PrefetchScalar;
union {
struct {
USHORT Minimum;
USHORT Maximum;
USHORT MaximumBlocks;
} ScalarPrefetch;
struct {
USHORT Minimum;
USHORT Maximum;
} BlockPrefetch;
} DUMMYUNIONNAME;
} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;
Membres
ParametersSavable
Indique, lorsqu’il est défini sur 1, que l’appareil est capable d’enregistrer tous les paramètres dans le stockage nonvolatile.
ReadCacheEnabled
Indique, lorsqu’il est défini sur 1, que le cache de lecture est activé.
WriteCacheEnabled
Indique, lorsqu’il est défini sur 1, que le cache d’écriture est activé.
ReadRetentionPriority
Détermine la probabilité de différents types de données restant dans le cache. Par le biais de cette valeur, par exemple, les données mises en cache à partir d’une opération READ ou WRITE peuvent avoir une priorité différente de celle mise en cache des données dans d’autres circonstances, telles que les opérations de prérécupération. Ainsi, une valeur de EqualPriority indique qu’aucune donnée n’est conservée dans le cache sur une base privilégiée. Lorsque readRetentionPriority est défini sur equalPriority, tous les types de données ont un accès égal à la mémoire cache. En revanche, une valeur de KeepPrefetchedData indique qu’une préférence doit être donnée aux données prérécupérées alors qu’une valeur de KeepReadData indique qu’une préférence doit être donnée aux données mises en cache à partir d’une opération READ. Pour plus d’informations sur les valeurs qui peuvent être affectées à ce membre, consultez l’énumération DISK_CACHE_RETENTION_PRIORITY.
WriteRetentionPriority
Consultez la discussion sous ReadRetentionPriority.
DisablePrefetchTransferLength
Désactive la prérécupération. La prérécupération peut être désactivée chaque fois que le nombre de blocs demandés dépasse la valeur dans DisablePrefetchTransferLength. Lorsque zéro, la prérécupération est désactivée quelle que soit la taille de la demande de bloc.
PrefetchScalar
Quand TRUE, indique que ScalarPrefetch.Maximum doit être utilisé avec la longueur de transfert pour calculer la quantité de données qui peuvent être prérécupérées. Lorsque FALSE, BlockPrefetch.Maximum correspond au nombre maximal de blocs de disque qui peuvent être prérécupérés.
DUMMYUNIONNAME
DUMMYUNIONNAME.ScalarPrefetch
DUMMYUNIONNAME.ScalarPrefetch.Minimum
Contient le multiplicateur scalaire de la longueur de transfert de la requête lorsque prefetchScalar est TRUE. Si prefetchScalar est TRUE, la valeur dans ScalarPrefetch.Minimum est multipliée par la longueur de transfert pour obtenir la quantité minimale de données qui peuvent être prérécupérées dans le cache sur une opération de disque.
DUMMYUNIONNAME.ScalarPrefetch.Maximum
Contient le multiplicateur scalaire de la longueur de transfert de la requête lorsque prefetchScalar est TRUE. Si PrefetchScalar est TRUE, la valeur dans ScalarPrefetch.Maximum est multipliée par la longueur de transfert pour obtenir la quantité maximale de données qui peuvent être prérécupérées dans le cache sur une opération de disque.
DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks
Contient la taille maximale, en blocs, de la longueur de transfert.
DUMMYUNIONNAME.BlockPrefetch
DUMMYUNIONNAME.BlockPrefetch.Minimum
Contient le multiplicateur scalaire de la longueur de transfert de la requête lorsque prefetchScalar est TRUE. Si prefetchScalar est TRUE, la valeur dans ScalarPrefetch.Minimum est multipliée par la longueur de transfert pour obtenir la quantité minimale de données qui peuvent être prérécupérées dans le cache sur une opération de disque.
DUMMYUNIONNAME.BlockPrefetch.Maximum
Contient le multiplicateur scalaire de la longueur de transfert de la requête lorsque prefetchScalar est TRUE. Si PrefetchScalar est TRUE, la valeur dans ScalarPrefetch.Maximum est multipliée par la longueur de transfert pour obtenir la quantité maximale de données qui peuvent être prérécupérées dans le cache sur une opération de disque.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntdddisk.h (include Ntdddisk.h) |