Поделиться через


структура NVME_DEVICE_SELF_TEST_RESULT_DATA (nvme.h)

Содержит данные о результатах операции Self-Test устройства.

Эта структура используется в поле ResultDataструктуры NVME_DEVICE_SELF_TEST_LOG .

Синтаксис

typedef struct {
  struct {
    UCHAR Result : 4;
    UCHAR CodeValue : 4;
  } Status;
  UCHAR     SegmentNumber;
  struct {
    UCHAR NSIDValid : 1;
    UCHAR FLBAValid : 1;
    UCHAR SCTValid : 1;
    UCHAR SCValid : 1;
    UCHAR Reserved : 4;
  } ValidDiagnostics;
  UCHAR     Reserved;
  ULONGLONG POH;
  ULONG     NSID;
  ULONGLONG FailingLBA;
  struct {
    UCHAR AdditionalInfo : 3;
    UCHAR Reserved : 5;
  } StatusCodeType;
  UCHAR     StatusCode;
  USHORT    VendorSpecific;
} NVME_DEVICE_SELF_TEST_RESULT_DATA, *PNVME_DEVICE_SELF_TEST_RESULT_DATA;

Члены

Status

Структура состояния , содержащая поля, описывающие состояние операции Self-Test устройства.

Status.Result

Указывает результат операции Self-Test устройства.

Status.CodeValue

Указывает значение кода Self-Test, указанное в команде .

SegmentNumber

Указывает первый сегмент, в котором произошел сбой во время операции Self-Test устройства.

ValidDiagnostics

Структура ValidDiagnostics , содержащая поля, указывающие допустимость определенных параметров в операции Self-Test устройства.

ValidDiagnostics.NSIDValid

Поле ValidDiagnostics , указывающее, является ли содержимое поля Идентификатор пространства имен (NSID) допустимым.

Если для этого значения задано 1значение , содержимое поля NSID является допустимым.

ValidDiagnostics.FLBAValid

Поле ValidDiagnostics , указывающее, является ли допустимым содержимое поля FLBA.

Если для этого значения задано 1значение , содержимое поля FLBA является допустимым.

ValidDiagnostics.SCTValid

Поле ValidDiagnostics , указывающее, является ли содержимое поля Status Code Type (StatusCodeType) допустимым.

Если для этого значения задано 1значение , содержимое поля StatusCodeType является допустимым.

ValidDiagnostics.SCValid

Поле ValidDiagnostics , указывающее, является ли содержимое поля Status Code (StatusCode) допустимым.

Если для этого значения задано 1значение , содержимое поля StatusCode является допустимым.

ValidDiagnostics.Reserved

Зарезервированное поле в структуре ValidDiagnostics .

Reserved

Зарезервированное поле.

POH

Указывает количество часов включения (POH), когда тестовая операция была завершена или прервана.

NSID

Содержит идентификатор пространства имен (NSID). Это поле допустимо только в том случае , если для NSIDValid задано значение 1.

FailingLBA

Адрес логического блока (LBA), который привел к сбою теста. Это поле допустимо, только если параметру FLBAValid присвоено значение 1.

StatusCodeType

Структура типа кода состояния (StatusCodeType), содержащая поля, содержащие сведения об ошибках и условиях.

StatusCodeType.AdditionalInfo

Поле StatusCodeType , содержащее дополнительные сведения, связанные с ошибками и условиями операции Self-Test устройства на основе типа кода состояния.

Это поле допустимо только в том случае , если для SCTValid задано значение 1.

StatusCodeType.Reserved

Зарезервированное поле в структуре StatusCodeType .

StatusCode

Поле StatusCodeType , содержащее дополнительные сведения, связанные с ошибками и условиями операции Self-Test устройства на основе кода состояния.

Это поле допустимо только в том случае, если для SCValid задано значение 1.

VendorSpecific

Поле для конкретного поставщика.

Требования

Требование Значение
Минимальная версия клиента Windows 10
Верхняя часть nvme.h