HYBRID_INFORMATION構造体 (ntddscsi.h)
HYBRID_INFORMATION 構造体には、ハイブリッド ディスク機能の情報が含まれています。 HBA ミニポート ドライバーに送信された IOCTL_SCSI_MINIPORT_HYBRID 要求でHYBRID_FUNCTION_GET_INFO関数が選択されると、構造体が返されます。
構文
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;
メンバーズ
Version
この構造体のバージョン。 HYBRID_REQUEST_INFO_STRUCTURE_VERSIONに設定します。
Size
この構造体のサイズ。 (HYBRID_INFORMATION) のサイズをに設定します。
HybridSupported
ハイブリッド ディスクのミニポート サポート。 ハイブリッド ディスクがサポートされている場合 TRUE に設定します。 それ以外の場合は、FALSE をします。
Status
ハイブリッド ディスク キャッシュの状態。 これには、次のいずれかの値が含まれます。
CacheTypeEffective
現在ハイブリッド ディスクに設定されている非揮発性キャッシュの種類。 有効なキャッシュの種類は、次のいずれかの値です。
CacheTypeDefault
ハイブリッド ディスクで使用される既定のキャッシュの種類。 指定できる値は、CacheTypeEffectiveの場合と同じです。
FractionBase
この構造体の小数部フィールドの基本値。 この値は 255 に設定されます。
CacheSize
ハイブリッド ディスク上の不揮発性のサイズ (LBA 単位)。
Attributes
ハイブリッド ディスク属性。
Attributes.WriteCacheChangeable
書き込みキャッシュ ポリシーの変更のサポート。 値は 1 つのポリシー変更が許可されます。 それ以外の場合、変更は無視されます。
Attributes.WriteThroughIoSupported
ライトスルー キャッシュを使用する場合の個々の書き込み操作のサポート。 個々の書き込みがサポートされている場合、値は 1 です。 それ以外の場合、値は 0 です。
Attributes.FlushCacheSupported
不揮発性キャッシュ フラッシュのサポート。 フラッシュがサポートされている場合、値は 1 です。 それ以外の場合、値は 0 です。
Attributes.Removable
ディスクからの不揮発性キャッシュの削除のサポート。 キャッシュがリムーバブルである場合、値は 1 です。 それ以外の場合、値は 0 です。
Attributes.ReservedBits
引っ込み思案。
Priorities
ハイブリッド ディスクの優先順位の設定。
Priorities.PriorityLevelCount
キャッシュでサポートされている優先度レベルの数。 現在、0 以外の値は、すべての優先順位のサポートを示します。
Priorities.MaxPriorityBehavior
TRUE 場合、キャッシュがいっぱいの場合、ディスク I/O は最大優先度で失敗する可能性があります。 それ以外の場合、FALSE 場合、操作はディスクに対して完了します。
Priorities.OptimalWriteGranularity
Priorities.Reserved
Priorities.DirtyThresholdLow
キャッシュ フラッシュの低しきい値。 この値は、FractionBase の範囲内比率です。
Priorities.DirtyThresholdHigh
キャッシュ フラッシュの低しきい値。 この値は、FractionBase の範囲内比率です。
Priorities.SupportedCommands
ハイブリッド ディスクに対する非揮発性キャッシュ固有のコマンドのサポート。
Priorities.SupportedCommands.CacheDisable
書き込みキャッシュ ポリシーの変更のサポート。 値は 1 つのポリシー変更が許可されます。 それ以外の場合、変更は無視されます。
Priorities.SupportedCommands.SetDirtyThreshold
ライトスルー キャッシュを使用する場合の個々の書き込み操作のサポート。 個々の書き込みがサポートされている場合、値は 1 です。 それ以外の場合、値は 0 です。
Priorities.SupportedCommands.PriorityDemoteBySize
不揮発性キャッシュ フラッシュのサポート。 フラッシュがサポートされている場合、値は 1 です。 それ以外の場合、値は 0 です。
Priorities.SupportedCommands.PriorityChangeByLbaRange
LBA 範囲の優先順位の変更のサポート。 優先度の変更がサポートされている場合、値は 1 です。 それ以外の場合、値は 0 です。
Priorities.SupportedCommands.Evict
ディスクからの不揮発性キャッシュの削除のサポート。 キャッシュがリムーバブルである場合、値は 1 です。 それ以外の場合、値は 0 です。
Priorities.SupportedCommands.ReservedBits
引っ込み思案。
Priorities.SupportedCommands.MaxEvictCommands
未処理の最大同時削除コマンドが許可されます。 この値は、削除 が 1 に設定されている場合に有効です。
Priorities.SupportedCommands.MaxLbaRangeCountForEvict
Evict コマンドに関連付ける LBA 範囲の最大数。 この値は、削除 が 1 に設定されている場合に有効です。
Priorities.SupportedCommands.MaxLbaRangeCountForChangeLba
Priority Change コマンドに関連付ける LBA 範囲の最大数。 この値は、PriorityChangeByLbaRange が 1 に設定されている場合に有効です。
Priorities.Priority[0]
優先順位レベル記述子の配列。 配列に存在する記述子の数は、PriorityLevelCount 設定されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8.1 以降で使用できます。 |
ヘッダー | ntddscsi.h (Ntddscsi.h を含む) |