Condividi tramite


struttura STORAGE_PROTOCOL_DATA_DESCRIPTOR (ntddstor.h)

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

Sintassi

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

Membri

Version

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

Size

Dimensione totale 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.

Osservazioni

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

  • Allocare un buffer che può contenere sia un STORAGE_PROPERTY_QUERY che una struttura STORAGE_PROTOCOL_SPECIFIC_DATA.
  • Impostare il campo PropertyID su StorageAdapterProtocolSpecificProperty o StorageDeviceProtocolSpecificProper ty rispettivamente per una richiesta controller o dispositivo/spazio dei nomi.
  • Impostare il campo QueryType su PropertyStandardQuery.
  • Compilare 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/integrità).
    • Usare NVMeDataTypeFeature per ottenere le 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.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10
server minimo supportato Windows Server 2016
intestazione ntddstor.h (include Ntddstor.h)

Vedere anche

IOCTL_STORAGE_QUERY_PROPERTY

IOCTL_STORAGE_SET_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT