다음을 통해 공유


DISK_CACHE_INFORMATION 구조체(winioctl.h)

디스크 캐시에 대한 정보를 제공합니다. 이 구조체는 IOCTL_DISK_GET_CACHE_INFORMATIONIOCTL_DISK_SET_CACHE_INFORMATION 제어 코드에서 사용됩니다.

구문

typedef struct _DISK_CACHE_INFORMATION {
  BOOLEAN                       ParametersSavable;
  BOOLEAN                       ReadCacheEnabled;
  BOOLEAN                       WriteCacheEnabled;
  DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
  DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
  WORD                          DisablePrefetchTransferLength;
  BOOLEAN                       PrefetchScalar;
  union {
    struct {
      WORD Minimum;
      WORD Maximum;
      WORD MaximumBlocks;
    } ScalarPrefetch;
    struct {
      WORD Minimum;
      WORD Maximum;
    } BlockPrefetch;
  } DUMMYUNIONNAME;
} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;

멤버

ParametersSavable

디바이스가 비휘발성 스토리지에 매개 변수를 저장할 수 있는지 여부를 나타냅니다.

ReadCacheEnabled

읽기 캐시를 사용할 수 있는지 여부를 나타냅니다.

WriteCacheEnabled

쓰기 캐시를 사용할 수 있는지 여부를 나타냅니다.

ReadRetentionPriority

캐시에 남아 있는 읽기 작업에서 데이터가 캐시될 가능성을 결정합니다. 이 데이터는 프리페치 작업과 같은 다른 상황에서 캐시된 데이터와 다른 우선 순위를 부여할 수 있습니다.

이 멤버는 DISK_CACHE_RETENTION_PRIORITY 열거형 형식의 다음 값 중 하나일 수 있습니다.

의미
EqualPriority
0
우선적으로 캐시에 데이터가 보관되지 않습니다.
KeepPrefetchedData
1
프리페치된 데이터에 기본 설정이 지정됩니다.
KeepReadData
2
읽기 작업에서 캐시된 데이터에 기본 설정이 지정됩니다.

WriteRetentionPriority

캐시에 남아 있는 쓰기 작업에서 데이터가 캐시될 가능성을 결정합니다. 이 데이터는 프리페치 작업과 같은 다른 상황에서 캐시된 데이터와 다른 우선 순위를 부여할 수 있습니다.

DisablePrefetchTransferLength

프리페치를 사용하지 않도록 설정합니다. 요청된 블록 수가 DisablePrefetchTransferLength의 값을 초과할 때마다 프리페치를 사용하지 않도록 설정할 수 있습니다. 0이면 블록 요청의 크기에 관계없이 프리페치를 사용하지 않도록 설정됩니다.

PrefetchScalar

이 멤버가 TRUE이면 Union은 ScalarPrefetch 구조체입니다. 그렇지 않으면 Union은 BlockPrefetch 구조체입니다.

DUMMYUNIONNAME

DUMMYUNIONNAME.ScalarPrefetch

DUMMYUNIONNAME.ScalarPrefetch.Minimum

요청 전송 길이의 스칼라 승수입니다. 이 멤버는 PrefetchScalarTRUE인 경우에만 유효합니다. PrefetchScalarTRUE이면 이 값에 전송 길이를 곱하여 디스크 작업의 캐시에 프리페치할 수 있는 최소 데이터 양을 가져옵니다.

DUMMYUNIONNAME.ScalarPrefetch.Maximum

요청 전송 길이의 스칼라 승수입니다. 이 멤버는 PrefetchScalarTRUE인 경우에만 유효합니다. PrefetchScalarTRUE이면 이 값에 전송 길이를 곱하여 디스크 작업의 캐시에 프리페치할 수 있는 최대 데이터 양을 가져옵니다.

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

프리페치할 수 있는 최대 블록 수입니다.

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

디스크 작업의 캐시에 프리페치할 수 있는 최소 데이터 양(절대 디스크 블록 수)입니다. 이 멤버는 PrefetchScalarFALSE인 경우에만 유효합니다.

DUMMYUNIONNAME.BlockPrefetch.Maximum

디스크 작업의 캐시에 프리페치할 수 있는 최대 데이터 양(절대 디스크 블록 수)입니다. 이 멤버는 PrefetchScalarFALSE인 경우에만 유효합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winioctl.h(Windows.h 포함)

추가 정보

IOCTL_DISK_GET_CACHE_INFORMATION

IOCTL_DISK_SET_CACHE_INFORMATION