Partager via


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)

Voir aussi

DISK_CACHE_INFORMATION

IOCTL_DISK_GET_CACHE_INFORMATION