STORAGE_DEVICE_DESCRIPTOR Struktur (ntddstor.h)
Die STORAGE_DEVICE_DESCRIPTOR-Struktur wird in Verbindung mit der IOCTL_STORAGE_QUERY_PROPERTY Anforderung verwendet, um die Daten zum Deskriptor des Speichergeräts 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;
Angehörige
Version
Gibt die Größe der STORAGE_DEVICE_DESCRIPTOR Struktur an. Der Wert dieses Elements ändert sich, wenn Elemente 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äß definition der Spezifikation "Small Computer Systems Interface (SCSI)" an.
DeviceTypeModifier
Gibt den Gerätetypmodifizierer (sofern vorhanden) gemäß der SCSI-Spezifikation an. Wenn kein Gerätetypmodifizierer vorhanden ist, ist dieses Element null.
RemovableMedia
Gibt an, wann TRUE, dass die Medien des Geräts (sofern vorhanden) wechselbar sind. Wenn das Gerät über keine Medien verfügt, sollte dieses Element ignoriert werden. Wenn FALSE die Medien des Geräts nicht wechselbar sind.
CommandQueueing
Gibt an, wann TRUE-, dass das Gerät mehrere ausstehende Befehle unterstützt (SCSI-markierte Warteschlange oder gleichwertig). Wenn FALSE-, unterstützt das Gerät keine SCSI-markierte Warteschlange oder die Entsprechung. Der STORPORT-Treiber ist für die Synchronisierung der Befehle verantwortlich.
VendorIdOffset
Gibt den Byteoffset vom Anfang der Struktur auf eine NULL--terminated ASCII-Zeichenfolge an, die die Anbieter-ID des Geräts enthält. Wenn das Gerät keine Anbieter-ID aufweist, ist dieses Mitglied null.
ProductIdOffset
Gibt den Byteoffset vom Anfang der Struktur auf eine NULL--terminated ASCII-Zeichenfolge an, die die Produkt-ID des Geräts enthält. Wenn das Gerät keine Produkt-ID aufweist, ist dieses Element null.
ProductRevisionOffset
Gibt den Byteoffset vom Anfang der Struktur auf eine NULL--terminated ASCII-Zeichenfolge an, die die Produktrevisionszeichenfolge des Geräts enthält. Wenn das Gerät über keine Produktrevisionszeichenfolge verfügt, ist dieses Element null.
SerialNumberOffset
Gibt den Byteoffset vom Anfang der Struktur auf eine NULL--terminated ASCII-Zeichenfolge an, die die Seriennummer des Geräts enthält. Wenn das Gerät keine Seriennummer hat, ist dieses Element null.
BusType
Gibt einen Enumerationswert vom Typ STORAGE_BUS_TYPE an, der den Typ des Bus angibt, mit dem das Gerät verbunden ist. Dies sollte verwendet werden, um die Rohgeräteeigenschaften am Ende dieser Struktur (falls vorhanden) zu interpretieren.
RawPropertiesLength
Gibt die Anzahl der Bytes von busspezifischen Daten an, die an diesen Deskriptor angefügt wurden.
RawDeviceProperties[1]
Enthält ein Array von Länge 1, das als Platzhalter für das erste Byte der busspezifischen Eigenschaftsdaten dient.
Bemerkungen
Anwendungs- und Speicherklassentreiber stellen eine Gerätesteuerungsanforderung mit dem E/A-Steuerelementcode IOCTL_STORAGE_QUERY_PROPERTY aus, um diese Struktur abzurufen, die Informationen zu einem Zielgerät enthält. Die Struktur kann nur aus einem FDO abgerufen werden; Der Versuch, Geräteeigenschaften von einem Adapter abzurufen, verursacht einen Fehler.
Eine Anwendung oder ein Treiber kann die erforderliche Puffergröße bestimmen, indem sie die abgerufene STORAGE_DEVICE_DESCRIPTOR Struktur in eine STORAGE_DESCRIPTOR_HEADERumwandeln, die nur Version und Größeenthält.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntddstor.h (include Ntddstor.h) |