Freigeben über


STORAGE_PROTOCOL_SPECIFIC_DATA Struktur (ntddstor.h)

Beschreibt protokollspezifische Gerätedaten, die im Eingabe- und Ausgabepuffer einer IOCTL_STORAGE_QUERY_PROPERTY Anforderung bereitgestellt werden.

Syntax

typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA {
  STORAGE_PROTOCOL_TYPE ProtocolType;
  ULONG                 DataType;
  ULONG                 ProtocolDataRequestValue;
  ULONG                 ProtocolDataRequestSubValue;
  ULONG                 ProtocolDataOffset;
  ULONG                 ProtocolDataLength;
  ULONG                 FixedProtocolReturnData;
  ULONG                 ProtocolDataRequestSubValue2;
  ULONG                 ProtocolDataRequestSubValue3;
  ULONG                 ProtocolDataRequestSubValue4;
} STORAGE_PROTOCOL_SPECIFIC_DATA, *PSTORAGE_PROTOCOL_SPECIFIC_DATA;

Angehörige

ProtocolType

Der Protokolltyp. Werte für dieses Element werden in der STORAGE_PROTOCOL_TYPE-Aufzählung definiert.

DataType

Der Protokolldatentyp. Datentypen werden in den Enumerationen STORAGE_PROTOCOL_NVME_DATA_TYPE und STORAGE_PROTOCOL_ATA_DATA_TYPE definiert.

ProtocolDataRequestValue

Der Wert der Protokolldatenanforderung.

ProtocolDataRequestSubValue

Der Unterwert der Protokolldatenanforderung.

ProtocolDataOffset

Der Offset des Datenpuffers, der vom Anfang dieser Struktur stammt. Der typische Wert kann Größe(STORAGE_PROTOCOL_SPECIFIC_DATA) sein.

ProtocolDataLength

Die Länge der Protokolldaten. ProtocolDataLength- muss >= 512 Bytes sein.

FixedProtocolReturnData

Die zurückgegebenen Daten.

ProtocolDataRequestSubValue2

Erster zusätzlicher Datenunteranforderungswert.

ProtocolDataRequestSubValue3

Second additional data sub request value.

ProtocolDataRequestSubValue4

Dritter zusätzlicher Datenunteranforderungswert.

Bemerkungen

Wenn Sie IOCTL_STORAGE_QUERY_PROPERTY verwenden, um protokollspezifische Informationen im STORAGE_PROTOCOL_DATA_DESCRIPTORabzurufen, konfigurieren Sie die STORAGE_PROPERTY_QUERY Struktur wie folgt:

  • Weisen Sie einen Puffer zu, der sowohl eine STORAGE_PROPERTY_QUERY als auch eine STORAGE_PROTOCOL_SPECIFIC_DATA Struktur enthält.
  • Legen Sie das PropertyID- Feld auf StorageAdapterProtocolSpecificProperty oder StorageDeviceProtocolSpecificProperty für eine Controller- oder Geräte-/Namespaceanforderung fest.
  • Legen Sie das feld QueryType auf PropertyStandardQuery-fest.
  • Füllen Sie die STORAGE_PROTOCOL_SPECIFIC_DATA Struktur mit den gewünschten Werten aus. Der Anfang von STORAGE_PROTOCOL_SPECIFIC_DATA ist das AdditionalParameters Feld von STORAGE_PROPERTY_QUERY.

Um einen Typ von NVMe-protokollspezifischen Informationen anzugeben, konfigurieren Sie die STORAGE_PROTOCOL_SPECIFIC_DATA Struktur wie folgt:

  • Legen Sie das feld ProtocolType auf ProtocolTypeNVMe-fest.
  • Legen Sie das DataType Feld auf einen Enumerationswert fest, der durch STORAGE_PROTOCOL_NVME_DATA_TYPEdefiniert wird:
    • NVMeDataTypeIdentify, um Daten des Verantwortlichen abzurufen oder Namespacedaten zu identifizieren.
    • NVMeDataTypeLogPage, um Protokollseiten (einschließlich SMART/Health-Daten) abzurufen.
    • NVMeDataTypeFeature, um Features des NVMe-Laufwerks abzurufen.

Um einen Typ von ATA-protokollspezifischen Informationen anzugeben, konfigurieren Sie die STORAGE_PROTOCOL_SPECIFIC_DATA Struktur wie folgt:

  • Legen Sie das feld ProtocolType auf ProtocolTypeAtafest.
  • Legen Sie das DataType-feld auf einen Enumerationswert fest, der durch STORAGE_PROTOCOL_ATA_DATA_TYPEdefiniert wird:
    • Verwenden Sie AtaDataTypeIdentify, um das ATA-Laufwerk zu identifizieren.
    • Verwenden Sie AtaDataTypeLogPage-, um Protokollseiten vom ATA-Laufwerk abzurufen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
mindestens unterstützte Server- Windows Server 2016
Header- ntddstor.h (include Ntddstor.h)

Siehe auch

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT