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

此結構的大小。 設定為 sizeof (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

快取所支持的優先順序層級數目。 目前,非零值表示支援所有優先順序。

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

可以與收回命令建立關聯的 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