HYBRID_INFORMATION Struktur (ntddscsi.h)
Die HYBRID_INFORMATION-Struktur enthält Informationen zur Hybriddatenträgerfunktion. Die Struktur wird zurückgegeben, wenn die HYBRID_FUNCTION_GET_INFO-Funktion in einer IOCTL_SCSI_MINIPORT_HYBRID Anforderung ausgewählt wird, die an einen HBA-Miniporttreiber gesendet wird.
Syntax
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;
Angehörige
Version
Die Version dieser Struktur. Auf HYBRID_REQUEST_INFO_STRUCTURE_VERSION festgelegt.
Size
Die Größe dieser Struktur. Auf Größe(HYBRID_INFORMATION) festgelegt.
HybridSupported
Miniport unterstützt hybride Datenträger. Legen Sie auf TRUE- fest, wenn Hybriddatenträger unterstützt werden. Andernfalls FALSE-.
Status
Der Status des Hybriddatenträgercaches. Dies enthält einen der folgenden Werte.
CacheTypeEffective
Der nicht veränderliche Cachetyp, der derzeit für den Hybriddatenträger festgelegt ist. Der effektive Cachetyp ist einer der folgenden Werte.
CacheTypeDefault
Der standardmäßige Zwischenspeicherungstyp, der vom Hybriddatenträger verwendet wird. Die möglichen Werte sind identisch mit CacheTypeEffective.
FractionBase
Der Basiswert für Bruchfelder in dieser Struktur. Dieser Wert ist auf 255 festgelegt.
CacheSize
Die Größe in LBAs des nicht veränderliche Datenträgers auf dem Hybriddatenträger.
Attributes
Die Attribute des Hybriddatenträgers.
Attributes.WriteCacheChangeable
Unterstützung für Änderungen in der Schreibzwischenspeicherungsrichtlinie. Der Wert ist 1 Richtlinienänderungen sind zulässig. Andernfalls werden Änderungen ignoriert.
Attributes.WriteThroughIoSupported
Unterstützung für einzelne Schreibvorgänge beim Verwenden des Zwischenspeicherns durch Das Zwischenspeichern. Der Wert ist 1, wenn einzelne Schreibvorgänge unterstützt werden. Andernfalls sind die Werte 0.
Attributes.FlushCacheSupported
Unterstützung für nicht veränderliche Cacheleerungen. Der Wert ist 1, wenn Leerungen unterstützt werden. Andernfalls ist der Wert 0.
Attributes.Removable
Unterstützung des Entfernens des nicht veränderliche Caches vom Datenträger. Der Wert ist 1, wenn der Cache wechselbar ist. Andernfalls ist der Wert 0.
Attributes.ReservedBits
Reserviert.
Priorities
Prioritätseinstellungen für den Hybriddatenträger.
Priorities.PriorityLevelCount
Die Anzahl der vom Cache unterstützten Prioritätsstufen. Derzeit gibt ein Wert ungleich Null die Unterstützung für alle Prioritäten an.
Priorities.MaxPriorityBehavior
Wenn TRUE, kann die Datenträger-E/A bei voller Cachepriorität fehlschlagen. Andernfalls wird der Vorgang auf dem Datenträger abgeschlossen, wenn FALSE-.
Priorities.OptimalWriteGranularity
Priorities.Reserved
Priorities.DirtyThresholdLow
Der niedrige Schwellenwert für das Leeren eines Caches. Dieser Wert ist das Verhältnis im Bereich von FractionBase.
Priorities.DirtyThresholdHigh
Der niedrige Schwellenwert für das Leeren eines Caches. Dieser Wert ist das Verhältnis im Bereich von FractionBase.
Priorities.SupportedCommands
Unterstützung für nicht veränderliche Cache-spezifische Befehle auf dem Hybriddatenträger.
Priorities.SupportedCommands.CacheDisable
Unterstützung für Änderungen in der Schreibzwischenspeicherungsrichtlinie. Der Wert ist 1 Richtlinienänderungen sind zulässig. Andernfalls werden Änderungen ignoriert.
Priorities.SupportedCommands.SetDirtyThreshold
Unterstützung für einzelne Schreibvorgänge beim Verwenden des Zwischenspeicherns durch Das Zwischenspeichern. Der Wert ist 1, wenn einzelne Schreibvorgänge unterstützt werden. Andernfalls sind die Werte 0.
Priorities.SupportedCommands.PriorityDemoteBySize
Unterstützung für nicht veränderliche Cacheleerungen. Der Wert ist 1, wenn Leerungen unterstützt werden. Andernfalls ist der Wert 0.
Priorities.SupportedCommands.PriorityChangeByLbaRange
Unterstützung für LBA-Bereichsprioritätsänderungen. Der Wert ist 1, wenn Prioritätsänderungen unterstützt werden. Andernfalls ist der Wert 0.
Priorities.SupportedCommands.Evict
Unterstützung des Entfernens des nicht veränderliche Caches vom Datenträger. Der Wert ist 1, wenn der Cache wechselbar ist. Andernfalls ist der Wert 0.
Priorities.SupportedCommands.ReservedBits
Reserviert.
Priorities.SupportedCommands.MaxEvictCommands
Die maximal zulässigen gleichzeitigen Evict-Befehle sind ausstehende. Dieser Wert ist gültig, wenn Evict- auf 1 festgelegt ist.
Priorities.SupportedCommands.MaxLbaRangeCountForEvict
Die maximale Anzahl von LBA-Bereichen, die einem Evict-Befehl zugeordnet werden können. Dieser Wert ist gültig, wenn Evict- auf 1 festgelegt ist.
Priorities.SupportedCommands.MaxLbaRangeCountForChangeLba
Die maximale Anzahl von LBA-Bereichen, die einem Befehl "Prioritätsänderung" zugeordnet werden können. Dieser Wert ist gültig, wenn PriorityChangeByLbaRange- auf 1 festgelegt ist.
Priorities.Priority[0]
Ein Array von Deskriptoren auf Prioritätsebene. Die Anzahl der im Array vorhandenen Deskriptoren wird in PriorityLevelCountfestgelegt.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8.1. |
Header- | ntddscsi.h (include Ntddscsi.h) |