Freigeben über


STORAGE_PROTOCOL_DATA_DESCRIPTOR Struktur (ntddstor.h)

Diese Struktur wird in Verbindung mit IOCTL_STORAGE_SET_PROPERTY und IOCTL_STORAGE_QUERY_PROPERTY verwendet, um protokollspezifische Daten von einem Speichergerät oder Adapter festzulegen oder abzufragen.

Syntax

typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
  ULONG                          Version;
  ULONG                          Size;
  STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;

Angehörige

Version

Version dieser Struktur. Wird auf Größe(STORAGE_PROTOCOL_DATA_DESCRIPTOR) festgelegt.

Size

Gesamtgröße in Byte des Deskriptors, einschließlich des Speicherplatzes für alle Protokolldaten. Muss =>Größe(STORAGE_PROTOCOL_DATA_DESCRIPTOR) sein.

ProtocolSpecificData

Die protokollspezifischen Daten vom Typ STORAGE_PROTOCOL_SPECIFIC_DATA.

Bemerkungen

Wenn Sie IOCTL_STORAGE_QUERY_PROPERTY zum Abrufen protokollspezifischer Informationen in der 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 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 der 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:
    • Verwenden Sie NVMeDataTypeIdentify, um Daten des Verantwortlichen abzurufen oder Namespacedaten zu identifizieren.
    • Verwenden Sie NVMeDataTypeLogPage-, um Protokollseiten (einschließlich SMART/Health-Daten) abzurufen.
    • Verwenden Sie 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

IOCTL_STORAGE_SET_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT