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 값은 우선적으로 캐시에 데이터가 보유되지 않음을 나타냅니다. ReadRetentionPriority가 EqualPriority로 설정된 경우 모든 유형의 데이터는 캐시 메모리에 동일하게 액세스할 수 있습니다. 반면 에 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
PrefetchScalar가 TRUE인 경우 요청 전송 길이의 스칼라 승수를 포함합니다. PrefetchScalar가 TRUE이면 ScalarPrefetch.Minimum의 값에 전송 길이를 곱하여 디스크 작업의 캐시에 프리페치할 수 있는 최소 데이터 양을 가져옵니다.
DUMMYUNIONNAME.ScalarPrefetch.Maximum
PrefetchScalar가 TRUE인 경우 요청 전송 길이의 스칼라 승수를 포함합니다. PrefetchScalar가 TRUE이면 ScalarPrefetch.Maximum의 값에 전송 길이를 곱하여 디스크 작업의 캐시에 프리페치할 수 있는 최대 데이터 양을 가져옵니다.
DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks
전송 길이의 최대 크기(블록)를 포함합니다.
DUMMYUNIONNAME.BlockPrefetch
DUMMYUNIONNAME.BlockPrefetch.Minimum
PrefetchScalar가 TRUE인 경우 요청 전송 길이의 스칼라 승수를 포함합니다. PrefetchScalar가 TRUE이면 ScalarPrefetch.Minimum의 값에 전송 길이를 곱하여 디스크 작업의 캐시에 프리페치할 수 있는 최소 데이터 양을 가져옵니다.
DUMMYUNIONNAME.BlockPrefetch.Maximum
PrefetchScalar가 TRUE인 경우 요청 전송 길이의 스칼라 승수를 포함합니다. PrefetchScalar가 TRUE이면 ScalarPrefetch.Maximum의 값에 전송 길이를 곱하여 디스크 작업의 캐시에 프리페치할 수 있는 최대 데이터 양을 가져옵니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntdddisk.h(Ntdddisk.h 포함) |