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