Condividi tramite


struttura STORAGE_DEVICE_DESCRIPTOR (ntddstor.h)

La struttura STORAGE_DEVICE_DESCRIPTOR viene usata insieme alla richiesta di IOCTL_STORAGE_QUERY_PROPERTY di 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;

Membri

Version

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

Size

Specifica la dimensione totale 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 di tipo di dispositivo, questo membro è zero.

RemovableMedia

Indica quando TRUE che il supporto del dispositivo (se presente) sia rimovibile. Se il dispositivo non dispone di supporti, questo membro deve essere ignorato. Quando 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). Quando 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 un NULLstringa ASCII con terminazione che contiene l'ID fornitore del dispositivo. Se il dispositivo non ha alcun ID fornitore, questo membro è zero.

ProductIdOffset

Specifica l'offset di byte dall'inizio della struttura a un NULLstringa ASCII con terminazione che contiene l'ID prodotto del dispositivo. Se il dispositivo non ha alcun ID prodotto, questo membro è zero.

ProductRevisionOffset

Specifica l'offset di byte dall'inizio della struttura a un NULLstringa ASCII con terminazione che contiene la stringa di revisione del prodotto del dispositivo. Se il dispositivo non ha alcuna stringa di revisione del prodotto, questo membro è zero.

SerialNumberOffset

Specifica l'offset di byte dall'inizio della struttura a un NULLstringa ASCII con terminazione 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. Deve essere usato per interpretare le proprietà non elaborate del 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.

Osservazioni

Le applicazioni e i driver di 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 Size.

Fabbisogno

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

Vedere anche

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR