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