estructura HYBRID_INFORMATION (ntddscsi.h)
La estructura de HYBRID_INFORMATION contiene información de funcionalidad de disco híbrido. La estructura se devuelve cuando se selecciona la función HYBRID_FUNCTION_GET_INFO en una solicitud de IOCTL_SCSI_MINIPORT_HYBRID enviada a un controlador de minipuerto HBA.
Sintaxis
typedef struct _HYBRID_INFORMATION {
ULONG Version;
ULONG Size;
BOOLEAN HybridSupported;
NVCACHE_STATUS Status;
NVCACHE_TYPE CacheTypeEffective;
NVCACHE_TYPE CacheTypeDefault;
ULONG FractionBase;
ULONGLONG CacheSize;
struct {
ULONG WriteCacheChangeable : 1;
ULONG WriteThroughIoSupported : 1;
ULONG FlushCacheSupported : 1;
ULONG Removable : 1;
ULONG ReservedBits : 28;
} Attributes;
struct {
UCHAR PriorityLevelCount;
BOOLEAN MaxPriorityBehavior;
UCHAR OptimalWriteGranularity;
UCHAR Reserved;
ULONG DirtyThresholdLow;
ULONG DirtyThresholdHigh;
struct {
ULONG CacheDisable : 1;
ULONG SetDirtyThreshold : 1;
ULONG PriorityDemoteBySize : 1;
ULONG PriorityChangeByLbaRange : 1;
ULONG Evict : 1;
ULONG ReservedBits : 27;
ULONG MaxEvictCommands;
ULONG MaxLbaRangeCountForEvict;
ULONG MaxLbaRangeCountForChangeLba;
} SupportedCommands;
NVCACHE_PRIORITY_LEVEL_DESCRIPTOR Priority[0];
} Priorities;
} HYBRID_INFORMATION, *PHYBRID_INFORMATION;
Miembros
Version
Versión de esta estructura. Establezca en HYBRID_REQUEST_INFO_STRUCTURE_VERSION.
Size
Tamaño de esta estructura. Establezca en sizeof(HYBRID_INFORMATION).
HybridSupported
Miniport admite discos híbridos. Se establece en TRUE si se admiten discos híbridos. De lo contrario, FALSE.
Status
Estado de la caché de disco híbrida. Contiene uno de los valores siguientes.
CacheTypeEffective
El tipo de almacenamiento en caché no volátil establecido actualmente para el disco híbrido. El tipo de caché efectiva es uno de los siguientes valores.
CacheTypeDefault
Tipo de almacenamiento en caché predeterminado usado por el disco híbrido. Los valores posibles son los mismos que para CacheTypeEffective.
FractionBase
Valor base de los campos fraccionarios de esta estructura. Este valor se establece en 255.
CacheSize
Tamaño, en LBAs, del disco híbrido no volátil.
Attributes
Atributos de disco híbrido.
Attributes.WriteCacheChangeable
Compatibilidad con cambios en la directiva de almacenamiento en caché de escritura. El valor es 1 cambios de directiva permitidos. De lo contrario, se omiten los cambios.
Attributes.WriteThroughIoSupported
Compatibilidad con operaciones de escritura individuales cuando se usa el almacenamiento en caché de escritura a través. El valor es 1 si se admiten escrituras individuales. De lo contrario, los valores son 0.
Attributes.FlushCacheSupported
Compatibilidad con vaciado de caché no volátil. El valor es 1 si se admiten vaciados. En caso contrario, el valor es 0.
Attributes.Removable
Compatibilidad con la eliminación de la memoria caché no volátil del disco. El valor es 1 si la memoria caché es extraíble. En caso contrario, el valor es 0.
Attributes.ReservedBits
Reservado.
Priorities
Configuración de prioridad para el disco híbrido.
Priorities.PriorityLevelCount
Número de niveles de prioridad admitidos por la memoria caché. Actualmente, un valor distinto de cero indica compatibilidad con todas las prioridades.
Priorities.MaxPriorityBehavior
Si es TRUE, la E/S de disco puede producir un error en la prioridad máxima si la memoria caché está llena. De lo contrario, si es FALSE, la operación se completará en el disco.
Priorities.OptimalWriteGranularity
Priorities.Reserved
Priorities.DirtyThresholdLow
Umbral bajo para un vaciado de caché. Este valor es la relación en el intervalo de FractionBase.
Priorities.DirtyThresholdHigh
Umbral bajo para un vaciado de caché. Este valor es la relación en el intervalo de FractionBase.
Priorities.SupportedCommands
Compatibilidad con comandos específicos de caché no volátiles en el disco híbrido.
Priorities.SupportedCommands.CacheDisable
Compatibilidad con cambios en la directiva de almacenamiento en caché de escritura. El valor es 1 cambios de directiva permitidos. De lo contrario, se omiten los cambios.
Priorities.SupportedCommands.SetDirtyThreshold
Compatibilidad con operaciones de escritura individuales cuando se usa el almacenamiento en caché de escritura a través. El valor es 1 si se admiten escrituras individuales. De lo contrario, los valores son 0.
Priorities.SupportedCommands.PriorityDemoteBySize
Compatibilidad con vaciado de caché no volátil. El valor es 1 si se admiten vaciados. En caso contrario, el valor es 0.
Priorities.SupportedCommands.PriorityChangeByLbaRange
Compatibilidad con los cambios de prioridad de intervalo LBA. El valor es 1 si se admiten cambios de prioridad. En caso contrario, el valor es 0.
Priorities.SupportedCommands.Evict
Compatibilidad con la eliminación de la memoria caché no volátil del disco. El valor es 1 si la memoria caché es extraíble. En caso contrario, el valor es 0.
Priorities.SupportedCommands.ReservedBits
Reservado.
Priorities.SupportedCommands.MaxEvictCommands
Los comandos de Evict simultáneos máximos permitidos que están pendientes. Este valor es válido cuando Evict se establece en 1.
Priorities.SupportedCommands.MaxLbaRangeCountForEvict
El número máximo de intervalos LBA posibles para asociarse a un comando de salida. Este valor es válido cuando Evict se establece en 1.
Priorities.SupportedCommands.MaxLbaRangeCountForChangeLba
El número máximo de intervalos LBA posibles para asociar con un comando Priority Change. Este valor es válido cuando PriorityChangeByLbaRange está establecido en 1.
Priorities.Priority[0]
Matriz de descriptores de nivel de prioridad. El número de descriptores presentes en la matriz se establece en PriorityLevelCount.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8.1. |
Encabezado | ntddscsi.h (incluya Ntddscsi.h) |