STORAGE_DEVICE_DESCRIPTOR-Struktur (winioctl.h)

Wird in Verbindung mit dem IOCTL_STORAGE_QUERY_PROPERTY-Steuerungscode zum Abrufen der Beschreibungsdaten für das Speichergerät für ein Gerät verwendet.

Syntax

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

Member

Version

Enthält die Größe dieser Struktur in Bytes. Der Wert dieses Members ändert sich, wenn Member der Struktur hinzugefügt werden.

Size

Gibt die Gesamtgröße des Deskriptors in Bytes an, die anbieter-ID, Produkt-ID, Produktrevision, Geräteseriennummernzeichenfolgen und busspezifische Daten enthalten kann, die an die Struktur angefügt werden.

DeviceType

Gibt den Gerätetyp an, der in der SCSI-Spezifikation (Small Computer Systems Interface) definiert ist.

DeviceTypeModifier

Gibt den Gerätetypmodifizierer (falls vorhanden) gemäß der SCSI-Spezifikation an. Wenn kein Gerätetypmodifizierer vorhanden ist, ist dieser Member 0.

RemovableMedia

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

CommandQueueing

Gibt an, wenn TRUE , dass das Gerät mehrere ausstehende Befehle unterstützt (SCSI-markierte Warteschlangen oder gleichwertig). Bei FALSE unterstützt das Gerät keine SCSI-markierte Warteschlangen oder das entsprechende.

VendorIdOffset

Gibt den Byteoffset vom Anfang der Struktur auf eine NULL-beendete ASCII-Zeichenfolge an, die die Anbieter-ID des Geräts enthält. Wenn das Gerät über keine Anbieter-ID verfügt, ist dieses Element 0.

ProductIdOffset

Gibt den Byteoffset vom Anfang der Struktur auf eine ASCII-Zeichenfolge mit Null-Beendigung an, die die Produkt-ID des Geräts enthält. Wenn das Gerät über keine Produkt-ID verfügt, ist dieses Element 0.

ProductRevisionOffset

Gibt den Byteoffset vom Anfang der Struktur auf eine ASCII-Zeichenfolge mit Null-Beendigung an, die die Produktrevisionszeichenfolge des Geräts enthält. Wenn das Gerät keine Produktrevisionszeichenfolge aufweist, ist dieser Member 0.

SerialNumberOffset

Gibt den Byteoffset vom Anfang der Struktur auf eine NULL-beendete ASCII-Zeichenfolge an, die die Seriennummer des Geräts enthält. Wenn das Gerät keine Seriennummer hat, ist dieses Element 0.

BusType

Gibt einen Enumeratorwert vom Typ STORAGE_BUS_TYPE an, der den Typ des Busses 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 busspezifischer Daten an, die diesem Deskriptor angefügt wurden.

RawDeviceProperties[1]

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

Hinweise

Eine Anwendung kann die erforderliche Puffergröße ermitteln, indem sie einen IOCTL_STORAGE_QUERY_PROPERTY-Steuerelementcode ausgibt, der eine STORAGE_DESCRIPTOR_HEADER-Struktur für den Ausgabepuffer übergibt, und dann das zurückgegebene Size-Element der STORAGE_DESCRIPTOR_HEADER-Struktur verwendet, um einen Puffer der richtigen Größe zuzuweisen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winioctl.h (einschließlich Windows.h)

Siehe auch

Strukturen für die Datenträgerverwaltung

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR