次の方法で共有


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

ハイブリッド ディスク キャッシュの状態。 これには、次のいずれかの値が含まれます。

価値 意味
NvCacheStatusUnknown
ミニポート ドライバーは、キャッシュの状態を報告できません。
NvCacheStatusDisabling
現在、キャッシュは nvCacheStatusDisabled 状態 に変更されています。
NvCacheStatusDisabled
ハイブリッド ディスク上のキャッシュが無効になっています。
NvCacheStatusEnabled
ハイブリッド ディスク上のキャッシュが有効になっている。

CacheTypeEffective

現在ハイブリッド ディスクに設定されている非揮発性キャッシュの種類。 有効なキャッシュの種類は、次のいずれかの値です。

価値 意味
NvCacheTypeUnknown
ミニポート ドライバーは、キャッシュの種類を報告できません。
NvCacheNone
ディスクは、不揮発性キャッシュをサポートしていません。
NvCacheTypeWriteBack
ライトバック キャッシュは、ハイブリッド ディスクでサポートされています。
NvCacheTypeWriteThrough
ライトスルー キャッシュは、ハイブリッド ディスクでサポートされています。

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 を含む)

関連項目

IOCTL_SCSI_MINIPORT_HYBRID