다음을 통해 공유


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

캐시에서 지원하는 우선 순위 수준의 수입니다. 현재 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

제거 명령과 연결할 수 있는 최대 LBA 범위 수입니다. 이 값은 제거 1로 설정된 경우에 유효합니다.

Priorities.SupportedCommands.MaxLbaRangeCountForChangeLba

우선 순위 변경 명령과 연결할 수 있는 최대 LBA 범위 수입니다. 이 값은 PriorityChangeByLbaRange 1로 설정된 경우에 유효합니다.

Priorities.Priority[0]

우선 순위 수준 설명자의 배열입니다. 배열에 있는 설명자의 수는 PriorityLevelCount설정됩니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8.1부터 사용할 수 있습니다.
헤더 ntddscsi.h(Ntddscsi.h 포함)

참고 항목

IOCTL_SCSI_MINIPORT_HYBRID