structure DISK_CACHE_INFORMATION (ntdddisk.h)
La structure DISK_CACHE_INFORMATION est utilisée avec la demande IOCTL_DISK_GET_CACHE_INFORMATION pour récupérer des informations de 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 non volatile.
ReadCacheEnabled
Indique, lorsque la valeur est définie sur 1, que le cache de lecture est activé.
WriteCacheEnabled
Indique, lorsque la valeur est définie sur 1, que le cache d’écriture est activé.
ReadRetentionPriority
Détermine la probabilité que différents types de données restent dans le cache. Au moyen de cette valeur, pour instance, les données mises en cache à partir d’une opération READ ou WRITE peuvent recevoir une priorité différente de celle des données mises en cache dans d’autres circonstances, telles que les opérations de prérécupération. Par conséquent, la valeur 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. D’autre part, une valeur de KeepPrefetchedData indique qu’une préférence doit être donnée aux données prédéfinies, tandis 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 attribué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. À zéro, la prérécupération est désactivée quelle que soit la taille de la demande de bloc.
PrefetchScalar
Lorsque la valeur EST TRUE, indique que ScalarPrefetch.Maximum doit être utilisé avec la longueur de transfert pour calculer la quantité de données qui peuvent être prééchées. Lorsque la valeur est FALSE, BlockPrefetch.Maximum correspond au nombre maximal de blocs de disque qui peuvent être prédéfini.
DUMMYUNIONNAME
DUMMYUNIONNAME.ScalarPrefetch
DUMMYUNIONNAME.ScalarPrefetch.Minimum
Contient le multiplicateur scalaire de la longueur de transfert de la requête lorsque PrefetchScalar a la valeur TRUE. Si PrefetchScalar a la valeur TRUE, la valeur dans ScalarPrefetch.Minimum est multipliée par la longueur de transfert pour obtenir la quantité minimale de données pouvant être préexécurées dans le cache sur une opération sur disque.
DUMMYUNIONNAME.ScalarPrefetch.Maximum
Contient le multiplicateur scalaire de la longueur de transfert de la requête lorsque PrefetchScalar a la valeur TRUE. Si PrefetchScalar a la valeur 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éexécurées dans le cache sur une opération sur 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 a la valeur TRUE. Si PrefetchScalar a la valeur TRUE, la valeur dans ScalarPrefetch.Minimum est multipliée par la longueur de transfert pour obtenir la quantité minimale de données pouvant être préexécurées dans le cache sur une opération sur disque.
DUMMYUNIONNAME.BlockPrefetch.Maximum
Contient le multiplicateur scalaire de la longueur de transfert de la requête lorsque PrefetchScalar a la valeur TRUE. Si PrefetchScalar a la valeur 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éexécurées dans le cache sur une opération sur disque.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntdddisk.h (inclure Ntdddisk.h) |