structure DISK_CACHE_INFORMATION (winioctl.h)

Fournit des informations sur le cache de disque. Cette structure est utilisée par les codes de contrôle IOCTL_DISK_GET_CACHE_INFORMATION et IOCTL_DISK_SET_CACHE_INFORMATION .

Syntaxe

typedef struct _DISK_CACHE_INFORMATION {
  BOOLEAN                       ParametersSavable;
  BOOLEAN                       ReadCacheEnabled;
  BOOLEAN                       WriteCacheEnabled;
  DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
  DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
  WORD                          DisablePrefetchTransferLength;
  BOOLEAN                       PrefetchScalar;
  union {
    struct {
      WORD Minimum;
      WORD Maximum;
      WORD MaximumBlocks;
    } ScalarPrefetch;
    struct {
      WORD Minimum;
      WORD Maximum;
    } BlockPrefetch;
  } DUMMYUNIONNAME;
} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;

Membres

ParametersSavable

Indique si l’appareil est capable d’enregistrer des paramètres dans le stockage non volatile.

ReadCacheEnabled

Indique si le cache de lecture est activé.

WriteCacheEnabled

Indique si le cache d’écriture est activé.

ReadRetentionPriority

Détermine la probabilité que les données mises en cache à partir d’une opération de lecture restent dans le cache. Ces données peuvent recevoir une priorité différente de celle des données mises en cache dans d’autres circonstances, par exemple à partir d’une opération de préversion.

Ce membre peut être l’une des valeurs suivantes du type d’énumération DISK_CACHE_RETENTION_PRIORITY .

Valeur Signification
EqualPriority
0
Aucune donnée n’est conservée dans le cache sur une base privilégiée.
KeepPrefetchedData
1
Une préférence doit être donnée aux données prééchées.
KeepReadData
2
Une préférence doit être donnée aux données mises en cache à partir d’une opération de lecture.

WriteRetentionPriority

Détermine la probabilité que les données restent mises en cache à partir d’une opération d’écriture dans le cache. Ces données peuvent recevoir une priorité différente de celle des données mises en cache dans d’autres circonstances, par exemple à partir d’une opération de préversion.

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

Si ce membre a la valeur TRUE, l’union est une structure ScalarPrefetch . Sinon, l’union est une structure BlockPrefetch .

DUMMYUNIONNAME

DUMMYUNIONNAME.ScalarPrefetch

DUMMYUNIONNAME.ScalarPrefetch.Minimum

Multiplicateur scalaire de la longueur de transfert de la demande. Ce membre est valide uniquement lorsque PrefetchScalar a la valeur TRUE. Lorsque PrefetchScalar a la valeur TRUE, cette valeur 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

Multiplicateur scalaire de la longueur de transfert de la demande. Ce membre est valide uniquement lorsque PrefetchScalar a la valeur TRUE. Lorsque PrefetchScalar a la valeur TRUE, cette valeur est multipliée par la longueur de transfert pour obtenir la quantité maximale de données pouvant être préexécurées dans le cache sur une opération sur disque.

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

Nombre maximal de blocs pouvant être prérécupérés.

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

Quantité minimale de données pouvant être prérécupérées dans le cache sur une opération sur disque, sous la forme d’un nombre absolu de blocs de disque. Ce membre est valide uniquement lorsque PrefetchScalar a la valeur FALSE.

DUMMYUNIONNAME.BlockPrefetch.Maximum

Quantité maximale de données pouvant être prérécupérées dans le cache sur une opération de disque, sous la forme d’un nombre absolu de blocs de disque. Ce membre est valide uniquement lorsque PrefetchScalar a la valeur FALSE.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winioctl.h (inclure Windows.h)

Voir aussi

IOCTL_DISK_GET_CACHE_INFORMATION

IOCTL_DISK_SET_CACHE_INFORMATION