estructura DISK_CACHE_INFORMATION (ntdddisk.h)
La estructura DISK_CACHE_INFORMATION se usa con la solicitud IOCTL_DISK_GET_CACHE_INFORMATION para recuperar información de caché.
Sintaxis
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;
Miembros
ParametersSavable
Indica, cuando se establece en 1, que el dispositivo es capaz de guardar cualquier parámetro en almacenamiento no volátil.
ReadCacheEnabled
Indica, cuando se establece en 1, que la memoria caché de lectura está habilitada.
WriteCacheEnabled
Indica, cuando se establece en 1, que la memoria caché de escritura está habilitada.
ReadRetentionPriority
Determina la probabilidad de que varios tipos de datos permanezcan en la memoria caché. Por ejemplo, por ejemplo, los datos almacenados en caché de una operación READ o WRITE pueden tener una prioridad diferente a los datos almacenados en caché en otras circunstancias, como las operaciones de captura previa. Por lo tanto, un valor de EqualPriority indica que no se mantiene ningún dato en la memoria caché de forma preferencial. Cuando ReadRetentionPriority se establece en EqualPriority, todos los tipos de datos tienen acceso igual a la memoria caché. Por otro lado, un valor de KeepPrefetchedData indica que se debe dar una preferencia a los datos capturados previamente mientras que un valor de KeepReadData indica que se debe dar una preferencia a los datos almacenados en caché desde una operación READ. Para obtener más información sobre los valores que se pueden asignar a este miembro, vea la enumeración DISK_CACHE_RETENTION_PRIORITY .
WriteRetentionPriority
Vea la discusión en ReadRetentionPriority.
DisablePrefetchTransferLength
Deshabilita la captura previa. La captura previa puede deshabilitarse siempre que el número de bloques solicitados supere el valor de DisablePrefetchTransferLength. Cuando es cero, la captura previa está deshabilitada independientemente del tamaño de la solicitud de bloque.
PrefetchScalar
Si es TRUE, indica que ScalarPrefetch.Maximum debe usarse junto con la longitud de transferencia para calcular la cantidad de datos que se pueden capturar previamente. Si es FALSE, BlockPrefetch.Maximum será el número máximo de bloques de disco que se pueden capturar previamente.
DUMMYUNIONNAME
DUMMYUNIONNAME.ScalarPrefetch
DUMMYUNIONNAME.ScalarPrefetch.Minimum
Contiene el multiplicador escalar de la longitud de transferencia de la solicitud cuando PrefetchScalar es TRUE. Si PrefetchScalar es TRUE, el valor de ScalarPrefetch.Minimum se multiplica por la longitud de la transferencia para obtener la cantidad mínima de datos que se pueden capturar previamente en la memoria caché en una operación de disco.
DUMMYUNIONNAME.ScalarPrefetch.Maximum
Contiene el multiplicador escalar de la longitud de transferencia de la solicitud cuando PrefetchScalar es TRUE. Si PrefetchScalar es TRUE, el valor de ScalarPrefetch.Maximum se multiplica por la longitud de transferencia para obtener la cantidad máxima de datos que se pueden capturar previamente en la memoria caché en una operación de disco.
DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks
Contiene el tamaño máximo, en bloques, de la longitud de transferencia.
DUMMYUNIONNAME.BlockPrefetch
DUMMYUNIONNAME.BlockPrefetch.Minimum
Contiene el multiplicador escalar de la longitud de transferencia de la solicitud cuando PrefetchScalar es TRUE. Si PrefetchScalar es TRUE, el valor de ScalarPrefetch.Minimum se multiplica por la longitud de la transferencia para obtener la cantidad mínima de datos que se pueden capturar previamente en la memoria caché en una operación de disco.
DUMMYUNIONNAME.BlockPrefetch.Maximum
Contiene el multiplicador escalar de la longitud de transferencia de la solicitud cuando PrefetchScalar es TRUE. Si PrefetchScalar es TRUE, el valor de ScalarPrefetch.Maximum se multiplica por la longitud de transferencia para obtener la cantidad máxima de datos que se pueden capturar previamente en la memoria caché en una operación de disco.
Requisitos
Requisito | Valor |
---|---|
Header | ntdddisk.h (include Ntdddisk.h) |