Condividi tramite


STORAGE_PROTOCOL_DATA_DESCRIPTOR struttura (ntddstor.h)

Questa struttura viene usata in combinazione con IOCTL_STORAGE_SET_PROPERTY e IOCTL_STORAGE_QUERY_PROPERTY rispettivamente per impostare o eseguire query sui dati specifici del protocollo da un dispositivo o un adattatore di archiviazione.

Sintassi

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

Members

Version

Versione di questa struttura. Impostare su sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR).

Size

Dimensioni totali in byte del descrittore, incluso lo spazio per tutti i dati del protocollo. Deve essere =>sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR).

ProtocolSpecificData

Dati specifici del protocollo, di tipo STORAGE_PROTOCOL_SPECIFIC_DATA.

Commenti

Quando si usa IOCTL_STORAGE_QUERY_PROPERTY per recuperare informazioni specifiche del protocollo nella STORAGE_PROTOCOL_DATA_DESCRIPTOR, configurare la struttura di STORAGE_PROPERTY_QUERY come indicato di seguito:

  • Allocare un buffer che può contenere sia una STORAGE_PROPERTY_QUERY che una struttura STORAGE_PROTOCOL_SPECIFIC_DATA .
  • Impostare il campo PropertyID su StorageAdapterProtocolSpecificProperty o StorageDeviceProtocolSpecificProperty per una richiesta controller o dispositivo/spazio dei nomi rispettivamente.
  • Impostare il campo QueryType su PropertyStandardQuery.
  • Riempire la struttura STORAGE_PROTOCOL_SPECIFIC_DATA con i valori desiderati. L'inizio della STORAGE_PROTOCOL_SPECIFIC_DATA è il campo AdditionalParameters di STORAGE_PROPERTY_QUERY.

Per specificare un tipo di informazioni specifiche del protocollo NVMe, configurare la struttura STORAGE_PROTOCOL_SPECIFIC_DATA come indicato di seguito:

  • Impostare il campo ProtocolType su ProtocolTypeNVMe.
  • Impostare il campo DataType su un valore di enumerazione definito da STORAGE_PROTOCOL_NVME_DATA_TYPE:
    • Usare NVMeDataTypeIdentify per ottenere i dati del controller di identificazione o identificare i dati dello spazio dei nomi.
    • Usare NVMeDataTypeLogPage per ottenere pagine di log (inclusi i dati smart/health).
    • Usare NVMeDataTypeFeature per ottenere funzionalità dell'unità NVMe.

Per specificare un tipo di informazioni specifiche del protocollo ATA, configurare la struttura STORAGE_PROTOCOL_SPECIFIC_DATA come indicato di seguito:

  • Impostare il campo ProtocolType su ProtocolTypeAta.
  • Impostare il campo DataType su un valore di enumerazione definito da STORAGE_PROTOCOL_ATA_DATA_TYPE:
    • Usare AtaDataTypeIdentify per identificare l'unità ATA.
    • Usare AtaDataTypeLogPage per ottenere pagine di log dall'unità ATA.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Intestazione ntddstor.h (include Ntddstor.h)

Vedi anche

IOCTL_STORAGE_QUERY_PROPERTY

IOCTL_STORAGE_SET_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT