struktur HYBRID_INFORMATION (ntddscsi.h)
Struktur HYBRID_INFORMATION berisi informasi kemampuan disk hibrid. Struktur dikembalikan ketika fungsi HYBRID_FUNCTION_GET_INFO dipilih dalam permintaan IOCTL_SCSI_MINIPORT_HYBRID dikirim ke driver miniport HBA.
Sintaks
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;
Anggota
Version
Versi struktur ini. Atur ke HYBRID_REQUEST_INFO_STRUCTURE_VERSION.
Size
Ukuran struktur ini. Atur ke sizeof(HYBRID_INFORMATION).
HybridSupported
Dukungan Miniport untuk disk hibrid. Atur ke TRUE jika disk hibrid didukung. Jika tidak, FALSE.
Status
Status cache disk hibrid. Ini berisi salah satu nilai berikut.
CacheTypeEffective
Jenis penembolokan non-volatil yang saat ini diatur untuk disk hibrid. Jenis cache yang efektif adalah salah satu nilai berikut.
CacheTypeDefault
Jenis penembolokan default yang digunakan oleh disk hibrid. Nilai yang mungkin sama dengan untuk CacheTypeEffective.
FractionBase
Nilai dasar untuk bidang pecahan dalam struktur ini. Nilai ini diatur ke 255.
CacheSize
Ukurannya, dalam LBA, dari non-volatil pada disk hibrid.
Attributes
Atribut disk hibrid.
Attributes.WriteCacheChangeable
Dukungan untuk perubahan dalam kebijakan penembolokan tulis. Nilainya adalah 1 perubahan kebijakan yang diizinkan. Jika tidak, perubahan diabaikan.
Attributes.WriteThroughIoSupported
Dukungan untuk operasi penulisan individu saat penembolokan write-through digunakan. Nilainya adalah 1 jika penulisan individual didukung. Jika tidak, nilainya adalah 0.
Attributes.FlushCacheSupported
Dukungan untuk flush cache non-volatil. Nilainya adalah 1 jika flush didukung. Jika tidak, nilainya adalah 0.
Attributes.Removable
Dukungan penghapusan cache non-volatil dari disk. Nilainya adalah 1 jika cache dapat dilepas. Jika tidak, nilainya adalah 0.
Attributes.ReservedBits
Dicadangkan.
Priorities
Pengaturan prioritas untuk disk hibrid.
Priorities.PriorityLevelCount
Jumlah tingkat prioritas yang didukung oleh cache. Saat ini, nilai bukan nol menunjukkan dukungan untuk semua prioritas.
Priorities.MaxPriorityBehavior
Jika TRUE, I/O disk dapat gagal pada prioritas maksimum jika cache penuh. Jika tidak, jika FALSE, operasi akan selesai ke disk.
Priorities.OptimalWriteGranularity
Priorities.Reserved
Priorities.DirtyThresholdLow
Ambang rendah untuk cache flush. Nilai ini adalah rasio dalam rentang FractionBase.
Priorities.DirtyThresholdHigh
Ambang rendah untuk cache flush. Nilai ini adalah rasio dalam rentang FractionBase.
Priorities.SupportedCommands
Dukungan untuk perintah khusus cache non-volatil ke disk hibrid.
Priorities.SupportedCommands.CacheDisable
Dukungan untuk perubahan dalam kebijakan penembolokan tulis. Nilainya adalah 1 perubahan kebijakan yang diizinkan. Jika tidak, perubahan diabaikan.
Priorities.SupportedCommands.SetDirtyThreshold
Dukungan untuk operasi penulisan individu saat penembolokan write-through digunakan. Nilainya adalah 1 jika penulisan individual didukung. Jika tidak, nilainya adalah 0.
Priorities.SupportedCommands.PriorityDemoteBySize
Dukungan untuk flush cache non-volatil. Nilainya adalah 1 jika flush didukung. Jika tidak, nilainya adalah 0.
Priorities.SupportedCommands.PriorityChangeByLbaRange
Dukungan untuk perubahan prioritas rentang LBA. Nilainya adalah 1 jika perubahan prioritas didukung. Jika tidak, nilainya adalah 0.
Priorities.SupportedCommands.Evict
Dukungan penghapusan cache non-volatil dari disk. Nilainya adalah 1 jika cache dapat dilepas. Jika tidak, nilainya adalah 0.
Priorities.SupportedCommands.ReservedBits
Dicadangkan.
Priorities.SupportedCommands.MaxEvictCommands
Perintah Pengeluaran bersamaan maksimum yang diizinkan yang luar biasa. Nilai ini valid ketika Evict diatur ke 1.
Priorities.SupportedCommands.MaxLbaRangeCountForEvict
Jumlah maksimum rentang LBA yang mungkin untuk dikaitkan dengan perintah Evict. Nilai ini valid ketika Evict diatur ke 1.
Priorities.SupportedCommands.MaxLbaRangeCountForChangeLba
Jumlah maksimum rentang LBA yang mungkin untuk dikaitkan dengan perintah Perubahan Prioritas. Nilai ini valid ketika PriorityChangeByLbaRange diatur ke 1.
Priorities.Priority[0]
Array deskriptor tingkat prioritas. Jumlah deskriptor yang ada dalam array diatur dalam PriorityLevelCount.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 8.1. |
Header | ntddscsi.h (termasuk Ntddscsi.h) |