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) |