STORAGE_WRITE_CACHE_PROPERTY structure (winioctl.h)

Used with the IOCTL_STORAGE_QUERY_PROPERTY control code to retrieve information about a device's write cache property.

Syntax

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;

Members

Version

Contains the size of this structure, in bytes. The value of this member will change as members are added to the structure.

Size

Specifies the total size of the data returned, in bytes. This may include data that follows this structure.

WriteCacheType

A 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.

WriteCacheEnabled

A 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.

WriteCacheChangeable

A 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

WriteThroughSupported

A 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.

FlushCacheSupported

A 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.

UserDefinedPowerProtection

A 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.

NVCacheEnabled

A 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.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header winioctl.h (include Windows.h)

See also

Disk Management Structures

IOCTL_STORAGE_QUERY_PROPERTY