Freigeben über


STORAGE_DEVICE_DESCRIPTOR-Struktur (ntddstor.h)

Die STORAGE_DEVICE_DESCRIPTOR-Struktur wird in Verbindung mit der IOCTL_STORAGE_QUERY_PROPERTY-Anforderung verwendet, um die Speichergerätedeskriptordaten für ein Gerät abzurufen.

Syntax

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;

Member

Version

Gibt die Größe der STORAGE_DEVICE_DESCRIPTOR-Struktur an. Der Wert dieses Members ändert sich, wenn Member der -Struktur hinzugefügt werden.

Size

Gibt die Gesamtgröße des Deskriptors in Bytes an, einschließlich ID-Zeichenfolgen, die an die Struktur angefügt werden.

DeviceType

Gibt den Gerätetyp gemäß der SCSI-Spezifikation (Small Computer Systems Interface) an.

DeviceTypeModifier

Gibt ggf. den Gerätetypmodifizierer an, wie in der SCSI-Spezifikation definiert. Wenn kein Gerätetypmodifizierer vorhanden ist, ist dieser Member null.

RemovableMedia

Gibt an, wenn TRUE , dass die Medien des Geräts (falls vorhanden) wechselbar sind. Wenn das Gerät über keine Medien verfügt, sollte dieses Element ignoriert werden. Bei FALSE können die Medien des Geräts nicht entfernbar sein.

CommandQueueing

Gibt an, wenn TRUE , dass das Gerät mehrere ausstehende Befehle unterstützt (SCSI-Warteschlange oder gleichwertig). Bei FALSE unterstützt das Gerät keine SCSI-markierte Warteschlangen oder die entsprechende. Der STORPORT-Treiber ist für die Synchronisierung der Befehle verantwortlich.

VendorIdOffset

Gibt den Byteoffset vom Anfang der -Struktur bis zu einer MIT NULL beendeten ASCII-Zeichenfolge an, die die Anbieter-ID des Geräts enthält. Wenn das Gerät über keine Anbieter-ID verfügt, ist dieses Mitglied 0 (null).

ProductIdOffset

Gibt den Byteoffset vom Anfang der Struktur bis zu einer MIT NULL endendierten ASCII-Zeichenfolge an, die die Produkt-ID des Geräts enthält. Wenn das Gerät über keine Produkt-ID verfügt, ist dieser Member null.

ProductRevisionOffset

Gibt den Byteoffset vom Anfang der Struktur bis zu einer MIT NULL beendeten ASCII-Zeichenfolge an, die die Produktrevisionszeichenfolge des Geräts enthält. Wenn das Gerät über keine Produktrevisionszeichenfolge verfügt, ist dieser Member null.

SerialNumberOffset

Gibt den Byteoffset vom Anfang der Struktur bis zu einer MIT NULL endendierten ASCII-Zeichenfolge an, die die Seriennummer des Geräts enthält. Wenn das Gerät keine Seriennummer hat, ist dieser Member null.

BusType

Gibt einen Enumeratorwert vom Typ STORAGE_BUS_TYPE an, der den Bustyp angibt, mit dem das Gerät verbunden ist. Dies sollte verwendet werden, um die unformatierten Geräteeigenschaften am Ende dieser Struktur (sofern vorhanden) zu interpretieren.

RawPropertiesLength

Gibt die Anzahl der Bytes der busspezifischen Daten an, die an diesen Deskriptor angefügt wurden.

RawDeviceProperties[1]

Enthält ein Array der Ersten Länge, das als Platzhalter für das erste Byte der busspezifischen Eigenschaftsdaten dient.

Hinweise

Anwendungen und Speicherklassentreiber stellen eine Gerätesteuerungsanforderung mit dem E/A-Steuerungscode IOCTL_STORAGE_QUERY_PROPERTY aus, um diese Struktur abzurufen, die Informationen zu einem Zielgerät enthält. Die -Struktur kann nur aus einer FDO abgerufen werden. Der Versuch, Geräteeigenschaften von einem Adapter abzurufen, verursacht einen Fehler.

Eine Anwendung oder ein Treiber kann die erforderliche Puffergröße ermitteln, indem sie die abgerufene STORAGE_DEVICE_DESCRIPTOR-Struktur in eine STORAGE_DESCRIPTOR_HEADER umwandeln, die nur Version und Größe enthält.

Anforderungen

Anforderung Wert
Header ntddstor.h (einschließen von Ntddstor.h)

Weitere Informationen

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR