DEVICE_INTERNAL_STATUS_DATA structure (ntddstor.h)

A device returns its internal error history data in a DEVICE_INTERNAL_STATUS_DATA structure during an IOCTL_STORAGE_GET_DEVICE_INTERNAL_LOG request.

Syntax

typedef struct _DEVICE_INTERNAL_STATUS_DATA {
  ULONG     Version;
  ULONG     Size;
  ULONGLONG T10VendorId;
  ULONG     DataSet1Length;
  ULONG     DataSet2Length;
  ULONG     DataSet3Length;
  ULONG     DataSet4Length;
  UCHAR     StatusDataVersion;
  UCHAR     Reserved[3];
  UCHAR     ReasonIdentifier[128];
  ULONG     StatusDataLength;
  UCHAR     StatusData[ANYSIZE_ARRAY];
} DEVICE_INTERNAL_STATUS_DATA, *PDEVICE_INTERNAL_STATUS_DATA;

Members

Version

Version of this structure. Set to sizeof(DEVICE_INTERNAL_STATUS_DATA).

Size

Total size in bytes of this structure. Set to sizeof(DEVICE_INTERNAL_STATUS_DATA) plus the device's internal data size specified by StatusDataLength.

T10VendorId

The Vendor ID defined by T10 industry association.

DataSet1Length

Specifies the data length for data set 1.

DataSet2Length

Specifies the data length for data set 2.

DataSet3Length

Specifies the data length for data set 3.

DataSet4Length

Specifies the data length for data set 4.

StatusDataVersion

Specifies the data version.

Reserved[3]

Reserved; do not use.

ReasonIdentifier[128]

Specifies the device internal status when the status data is generated.

StatusDataLength

Size, in bytes, of the entire buffer that StatusData points to.

StatusData[ANYSIZE_ARRAY]

Pointer to the status data header, which is always 512 bytes in size. The actual data follows the status data header.

Remarks

DEVICE_INTERNAL_STATUS_DATA is the output buffer for IOCTL_STORAGE_GET_DEVICE_INTERNAL_LOG. The device will return its error history data in this structure.

See the SCSI specification for more information.

Requirements

Requirement Value
Header ntddstor.h

See also

IOCTL_STORAGE_GET_DEVICE_INTERNAL_LOG