다음을 통해 공유


DISK_CACHE_INFORMATION 구조체(ntdddisk.h)

DISK_CACHE_INFORMATION 구조는 캐시 정보를 검색하기 위해 IOCTL_DISK_GET_CACHE_INFORMATION 요청과 함께 사용됩니다.

구문

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

멤버

ParametersSavable

1로 설정하면 디바이스가 모든 매개 변수를 비휘발성 스토리지에 저장할 수 있음을 나타냅니다.

ReadCacheEnabled

가 1로 설정되면 읽기 캐시가 사용하도록 설정되어 있음을 나타냅니다.

WriteCacheEnabled

1로 설정하면 쓰기 캐시가 사용하도록 설정되어 있음을 나타냅니다.

ReadRetentionPriority

캐시에 남아 있는 다양한 유형의 데이터의 가능성을 결정합니다. 이 값을 통해 instance 읽기 또는 쓰기 작업에서 캐시된 데이터에는 프리페치 작업과 같은 다른 상황에서 캐시된 데이터와 다른 우선 순위가 부여될 수 있습니다. 따라서 EqualPriority 값은 우선적으로 캐시에 데이터가 보유되지 않음을 나타냅니다. ReadRetentionPriorityEqualPriority로 설정된 경우 모든 유형의 데이터는 캐시 메모리에 동일하게 액세스할 수 있습니다. 반면 에 KeepPrefetchedData 값은 프리페치된 데이터에 대한 기본 설정을 지정해야 하며 KeepReadData 값은 READ 작업에서 캐시된 데이터에 기본 설정이 지정됨을 나타냅니다. 이 멤버에 할당할 수 있는 값에 대한 자세한 내용은 DISK_CACHE_RETENTION_PRIORITY 열거형을 참조하세요.

WriteRetentionPriority

ReadRetentionPriority에서 토론을 참조하세요.

DisablePrefetchTransferLength

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

PrefetchScalar

TRUE이면 ScalarPrefetch.Maximum를 전송 길이와 함께 사용하여 프리페치할 수 있는 데이터의 양을 계산해야 했음을 나타냅니다. FALSE이면 BlockPrefetch.Maximum는 프리페치할 수 있는 최대 디스크 블록 수입니다.

DUMMYUNIONNAME

DUMMYUNIONNAME.ScalarPrefetch

DUMMYUNIONNAME.ScalarPrefetch.Minimum

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

DUMMYUNIONNAME.ScalarPrefetch.Maximum

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

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

전송 길이의 최대 크기(블록)를 포함합니다.

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

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

DUMMYUNIONNAME.BlockPrefetch.Maximum

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

요구 사항

요구 사항
헤더 ntdddisk.h(Ntdddisk.h 포함)

추가 정보

DISK_CACHE_INFORMATION

IOCTL_DISK_GET_CACHE_INFORMATION