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
캐시에 남아 있는 다양한 데이터 형식의 가능성을 결정합니다. 예를 들어 읽기 또는 쓰기 작업에서 캐시된 데이터에는 프리페치 작업과 같은 다른 상황에서 캐시된 데이터와 다른 우선 순위가 부여될 수 있습니다. 따라서 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 포함) |