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;

Member

ProtocolType

Der Protokolltyp. Werte für diesen Member werden in der STORAGE_PROTOCOL_TYPE-Enumeration definiert.

DataType

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

ProtocolDataRequestValue

Der Protokolldatenanforderungswert.

ProtocolDataRequestSubValue

Der Unterwert der Protokolldatenanforderung.

ProtocolDataOffset

Der Offset des Datenpuffers vom Anfang dieser Struktur. Der typische Wert kann sizeof(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

Zweiter zusätzlicher Datenunteranforderungswert.

ProtocolDataRequestSubValue4

Dritter zusätzlicher Datenunteranforderungswert.

Hinweise

Wenn Sie IOCTL_STORAGE_QUERY_PROPERTY zum Abrufen protokollspezifischer Informationen im STORAGE_PROTOCOL_DATA_DESCRIPTOR verwenden, konfigurieren Sie die STORAGE_PROPERTY_QUERY-Struktur wie folgt:

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

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

  • Legen Sie das Feld ProtocolType auf ProtocolTypeNVMe fest.
  • Legen Sie das Feld DataType auf einen durch STORAGE_PROTOCOL_NVME_DATA_TYPE definierten Enumerationswert fest:
    • NVMeDataTypeIdentify , um Controllerdaten zu identifizieren oder Namespacedaten zu identifizieren.
    • NVMeDataTypeLogPage zum Abrufen von Protokollseiten (einschließlich SMART-/Integritätsdaten).
    • 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 ProtocolTypeAta fest.
  • Legen Sie das Feld DataType auf einen Enumerationswert fest, der durch STORAGE_PROTOCOL_ATA_DATA_TYPE definiert wird:
    • Verwenden Sie AtaDataTypeIdentify , um das ATA-Laufwerk zu identifizieren.
    • Verwenden Sie AtaDataTypeLogPage , um Protokollseiten vom ATA-Laufwerk abzurufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Kopfzeile ntddstor.h (einschließen von Ntddstor.h)

Weitere Informationen

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT