// ntddstor.h
typedef struct _STORAGE_WRITE_CACHE_PROPERTY {
ULONG Version;
ULONG Size;
WRITE_CACHE_TYPE WriteCacheType;
WRITE_CACHE_ENABLE WriteCacheEnabled;
WRITE_CACHE_CHANGE WriteCacheChangeable;
WRITE_THROUGH WriteThroughSupported;
BOOLEAN FlushCacheSupported;
BOOLEAN UserDefinedPowerProtection;
BOOLEAN NVCacheEnabled;
} STORAGE_WRITE_CACHE_PROPERTY, *PSTORAGE_WRITE_CACHE_PROPERTY;
View the official Windows Driver Kit DDI reference// winioctl.h
typedef struct _STORAGE_WRITE_CACHE_PROPERTY {
DWORD Version;
DWORD Size;
WRITE_CACHE_TYPE WriteCacheType;
WRITE_CACHE_ENABLE WriteCacheEnabled;
WRITE_CACHE_CHANGE WriteCacheChangeable;
WRITE_THROUGH WriteThroughSupported;
BOOLEAN FlushCacheSupported;
BOOLEAN UserDefinedPowerProtection;
BOOLEAN NVCacheEnabled;
} STORAGE_WRITE_CACHE_PROPERTY, *PSTORAGE_WRITE_CACHE_PROPERTY;
View the official Win32 API referenceNo description available.
The STORAGE_WRITE_CACHE_PROPERTY structure is used with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve information about a device's write cache property.
VersionThe version number of the write cache property.
SizeThe size, in bytes, of the STORAGE_WRITE_CACHE_PROPERTY structure.
WriteCacheTypeA WRITE_CACHE_TYPE-typed value that indicates the current write cache type
WriteCacheEnabledA WRITE_CACHE_ENABLE-typed value that indicates whether the write cache is enabled.
WriteCacheChangeableA WRITE_CACHE_CHANGE-typed value that indicates whether if the host can change the write cache characteristics.
WriteThroughSupportedA WRITE_THROUGH-typed value that indicates whether the device supports write-through caching.
FlushCacheSupportedA Boolean value that indicates whether the device allows host software to flush the device cache. If TRUE, the device allows host software to flush the device cache. If FALSE, host software cannot flush the device cache.
UserDefinedPowerProtectionA Boolean value that indicates whether a user can configure the device's power protection characteristics in the registry. If TRUE, a user can configure the device's power protection characteristics in the registry. If FALSE, the user cannot configure the device's power protection characteristics in the registry.
NVCacheEnabledA Boolean value that indicates whether the device has a battery backup for the write cache. If TRUE, the device has a battery backup for the write cache. If FALSE, the device does not have a battery backup for the writer cache.
All of the parameter values that are described in this topic refer to the output of the IOCTL_STORAGE_QUERY_PROPERTY request.
Used with the IOCTL_STORAGE_QUERY_PROPERTY control code to retrieve information about a device's write cache property.
VersionContains the size of this structure, in bytes. The value of this member will change as members are added to the structure.
SizeSpecifies the total size of the data returned, in bytes. This may include data that follows this structure.
WriteCacheTypeA value from the WRITE_CACHE_TYPE enumeration that indicates the current write cache type.
| Value | Meaning |
|---|---|
| WriteCacheTypeUnknown 0 |
The system cannot report the type of the write cache. |
| WriteCacheTypeNone 1 |
The device does not have a write cache. |
| WriteCacheTypeWriteBack 2 |
The device has a write-back cache. |
| WriteCacheTypeWriteThrough 3 |
The device has a write-through cache. |
WriteCacheEnabledA value from the WRITE_CACHE_ENABLE enumeration that indicates whether the write cache is enabled.
| Value | Meaning |
|---|---|
| WriteCacheEnableUnknown 0 |
The system cannot report whether the device's write cache is enabled or disabled. |
| WriteCacheDisabled 1 |
The device's write cache is disabled. |
| WriteCacheEnabled 2 |
The device's write cache is enabled. |
WriteCacheChangeableA value from the WRITE_CACHE_CHANGE enumeration that indicates whether if the host can change the write cache characteristics.
| Value | Meaning |
|---|---|
| WriteCacheChangeUnknown 0 |
The system cannot report the write cache change capability of the device. |
| WriteCacheNotChangeable 1 |
Host software cannot change the characteristics of the device's write cache |
| WriteCacheChangeable 2 |
Host software can change the characteristics of the device's write cache |
WriteThroughSupportedA value from the WRITE_THROUGH enumeration that indicates whether the device supports write-through caching.
| Value | Meaning |
|---|---|
| WriteThroughUnknown 0 |
Indicates that no information is available concerning the write-through capabilities of the device. |
| WriteThroughNotSupported 1 |
Indicates that the device does not support write-through operations. |
| WriteThroughSupported 2 |
Indicates that the device supports write-through operations. |
FlushCacheSupportedA BOOLEAN value that indicates whether the device allows host software to flush the device cache. If TRUE, the device allows host software to flush the device cache. If FALSE, host software cannot flush the device cache.
UserDefinedPowerProtectionA BOOLEAN value that indicates whether a user can configure the device's power protection characteristics in the registry. If TRUE, a user can configure the device's power protection characteristics in the registry. If FALSE, the user cannot configure the device's power protection characteristics in the registry.
NVCacheEnabledA BOOLEAN value that indicates whether the device has a battery backup for the write cache. If TRUE, the device has a battery backup for the write cache. If FALSE, the device does not have a battery backup for the writer cache.