STORAGE_WRITE_CACHE_PROPERTY - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// 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 reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-ntddstor-_storage_write_cache_property)

_STORAGE_WRITE_CACHE_PROPERTY structure

Description

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.

Members

Version

The version number of the write cache property.

Size

The size, in bytes, of the STORAGE_WRITE_CACHE_PROPERTY structure.

WriteCacheType

A WRITE_CACHE_TYPE-typed value that indicates the current write cache type

WriteCacheEnabled

A WRITE_CACHE_ENABLE-typed value that indicates whether the write cache is enabled.

WriteCacheChangeable

A WRITE_CACHE_CHANGE-typed value that indicates whether if the host can change the write cache characteristics.

WriteThroughSupported

A WRITE_THROUGH-typed value that indicates whether the device supports write-through caching.

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.

Remarks

All of the parameter values that are described in this topic refer to the output of the IOCTL_STORAGE_QUERY_PROPERTY request.

See also

IOCTL_STORAGE_QUERY_PROPERTY


Win32 API reference (ns-winioctl-storage_write_cache_property)

STORAGE_WRITE_CACHE_PROPERTY structure

Description

Used with the IOCTL_STORAGE_QUERY_PROPERTY control code to retrieve information about a device's 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.

See also

Disk Management Structures

IOCTL_STORAGE_QUERY_PROPERTY