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