Partager via


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)

Voir aussi

DISK_CACHE_INFORMATION

IOCTL_DISK_GET_CACHE_INFORMATION