struttura STORAGE_DEVICE_DESCRIPTOR (ntddstor.h)

La struttura STORAGE_DEVICE_DESCRIPTOR viene usata insieme alla richiesta di IOCTL_STORAGE_QUERY_PROPERTY per recuperare i dati del descrittore del dispositivo di archiviazione per un dispositivo.

Sintassi

typedef struct _STORAGE_DEVICE_DESCRIPTOR {
  ULONG            Version;
  ULONG            Size;
  UCHAR            DeviceType;
  UCHAR            DeviceTypeModifier;
  BOOLEAN          RemovableMedia;
  BOOLEAN          CommandQueueing;
  ULONG            VendorIdOffset;
  ULONG            ProductIdOffset;
  ULONG            ProductRevisionOffset;
  ULONG            SerialNumberOffset;
  STORAGE_BUS_TYPE BusType;
  ULONG            RawPropertiesLength;
  UCHAR            RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;

Members

Version

Indica le dimensioni della struttura STORAGE_DEVICE_DESCRIPTOR . Il valore di questo membro verrà modificato man mano che i membri vengono aggiunti alla struttura.

Size

Specifica le dimensioni totali del descrittore in byte, incluse le stringhe ID aggiunte alla struttura.

DeviceType

Specifica il tipo di dispositivo definito dalla specifica Small Computer Systems Interface (SCSI).

DeviceTypeModifier

Specifica il modificatore del tipo di dispositivo, se presente, come definito dalla specifica SCSI. Se non esiste alcun modificatore del tipo di dispositivo, questo membro è zero.

RemovableMedia

Indica quando TRUE il supporto del dispositivo (se presente) è rimovibile. Se il dispositivo non dispone di supporti, questo membro deve essere ignorato. Se FALSE il supporto del dispositivo non è rimovibile.

CommandQueueing

Indica quando TRUE che il dispositivo supporta più comandi in sospeso (accodamento con tag SCSI o equivalente). Se FALSE, il dispositivo non supporta l'accodamento con tag SCSI o l'equivalente. Il driver STORPORT è responsabile della sincronizzazione dei comandi.

VendorIdOffset

Specifica l'offset di byte dall'inizio della struttura a una stringa ASCII con terminazione NULL contenente l'ID fornitore del dispositivo. Se il dispositivo non ha un ID fornitore, questo membro è zero.

ProductIdOffset

Specifica l'offset di byte dall'inizio della struttura a una stringa ASCII con terminazione NULL contenente l'ID prodotto del dispositivo. Se il dispositivo non ha id prodotto, questo membro è zero.

ProductRevisionOffset

Specifica l'offset di byte dall'inizio della struttura a una stringa ASCII con terminazione NULL contenente la stringa di revisione del prodotto del dispositivo. Se il dispositivo non ha una stringa di revisione del prodotto, questo membro è zero.

SerialNumberOffset

Specifica l'offset di byte dall'inizio della struttura a una stringa ASCII con terminazione NULL che contiene il numero di serie del dispositivo. Se il dispositivo non ha un numero di serie, questo membro è zero.

BusType

Specifica un valore enumeratore di tipo STORAGE_BUS_TYPE che indica il tipo di bus a cui è connesso il dispositivo. Questo deve essere utilizzato per interpretare le proprietà non elaborate di un dispositivo alla fine di questa struttura (se presente).

RawPropertiesLength

Indica il numero di byte di dati specifici del bus aggiunti a questo descrittore.

RawDeviceProperties[1]

Contiene una matrice di lunghezza 1 che funge da segnaposto per il primo byte dei dati delle proprietà specifiche del bus.

Commenti

Le applicazioni e i driver della classe di archiviazione emettono una richiesta di controllo del dispositivo con il codice di controllo I/O IOCTL_STORAGE_QUERY_PROPERTY per recuperare questa struttura, che contiene informazioni su un dispositivo di destinazione. La struttura può essere recuperata solo da un fdO; il tentativo di recuperare le proprietà del dispositivo da un adattatore causa un errore.

Un'applicazione o un driver può determinare le dimensioni del buffer necessarie eseguendo il cast della struttura STORAGE_DEVICE_DESCRIPTOR recuperata in un STORAGE_DESCRIPTOR_HEADER, che contiene solo versione e dimensioni.

Requisiti

Requisito Valore
Intestazione ntddstor.h (include Ntddstor.h)

Vedi anche

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR