STORAGE_ADAPTER_DESCRIPTOR Struktur (ntddstor.h)
Die STORAGE_ADAPTER_DESCRIPTOR-Struktur wird in Verbindung mit der IOCTL_STORAGE_QUERY_PROPERTY Anforderung zum Abrufen der Speicheradapterdeskriptordaten für ein Gerät verwendet.
Syntax
typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
ULONG Version;
ULONG Size;
ULONG MaximumTransferLength;
ULONG MaximumPhysicalPages;
ULONG AlignmentMask;
BOOLEAN AdapterUsesPio;
BOOLEAN AdapterScansDown;
BOOLEAN CommandQueueing;
BOOLEAN AcceleratedTransfer;
#if ...
BOOLEAN BusType;
#else
UCHAR BusType;
#endif
USHORT BusMajorVersion;
USHORT BusMinorVersion;
UCHAR SrbType;
UCHAR AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
Angehörige
Version
Enthält die Version der Struktur STORAGE_ADAPTER_DESCRIPTOR. Der Wert dieses Elements ändert sich, wenn Elemente der Struktur hinzugefügt werden.
Size
Gibt die Gesamtgröße des Deskriptors in Byte an.
MaximumTransferLength
Gibt die maximale Anzahl von Bytes an, die der Hostbusadapter (HBA) in einem einzigen Vorgang übertragen kann.
MaximumPhysicalPages
Gibt die maximale Anzahl von diskontinuierlichen physischen Seiten an, die der HBA in einer einzigen Übertragung verwalten kann (d. h. das Ausmaß der XY/Gather-Unterstützung).
AlignmentMask
Gibt die Ausrichtungsanforderungen der HBA für Übertragungen an. Ein Speicherklassentreiber legt den AlignmentRequirement Feld in seinen Geräteobjekten auf diesen Wert fest. Das Ausrichtungsformat gibt Ausrichtungseinschränkungen für Puffer an, die vom HBA für Übertragungsvorgänge benötigt werden. Die gültigen Maskenwerte sind 0 (byte aligned), 1 (word aligned), 3 (DWORD aligned) und 7 (double DWORD aligned).
AdapterUsesPio
Gibt an, wann TRUE, dass die HBA Programmed Input/Output (PIO) verwendet und die Verwendung virtueller Systemspeicheradressen benötigt, die dem physischen Speicher für Datenpuffer zugeordnet sind. Wenn FALSE-, verwendet die HBA keine PIO.
AdapterScansDown
Gibt an, wann TRUE-, dass die HBA auf BIOS-Geräte überprüft, d. h. die HBA beginnt mit der Überprüfung mit der höchsten Gerätenummer und nicht mit der niedrigsten. Wenn FALSE-, beginnt die HBA mit der niedrigsten Gerätenummer zu scannen. Dieses Mitglied ist für Legacy-Miniporttreiber reserviert.
CommandQueueing
Gibt an, wann TRUE-, dass die HBA SCSI-markierte Warteschlangen und/oder interne Warteschlangen pro Logische Einheit oder die Nicht-SCSI-Entsprechung unterstützt. Wenn FALSE-, unterstützt die HBA weder SCSI-markierte Warteschlangen noch interne Warteschlangen pro Logische Einheit.
AcceleratedTransfer
Gibt an, wann TRUE, dass die HBA synchrone Übertragungen als Möglichkeit zum Beschleunigen der E/A unterstützt. Wenn FALSE-, unterstützt die HBA keine synchronen Übertragungen als Möglichkeit, E/A zu beschleunigen.
BusType
Gibt einen Wert vom Typ STORAGE_BUS_TYPE an, der den Typ des Bus angibt, mit dem das Gerät verbunden ist.
BusMajorVersion
Gibt die Hauptversionsnummer (falls vorhanden) der HBA an.
BusMinorVersion
Gibt die Nebenversionsnummer (falls vorhanden) der HBA an.
SrbType
Gibt den vom HBA verwendeten SCSI-Anforderungsblocktyp (SRB) an. Dieses Mitglied ist ab Windows 8 gültig.
Wert | Bedeutung |
---|---|
SRB_TYPE_SCSI_REQUEST_BLOCK | Die HBA verwendet SCSI-Anforderungsblöcke. |
SRB_TYPE_STORAGE_REQUEST_BLOCK | Die HBA verwendet erweiterte SCSI-Anforderungsblöcke. |
AddressType
Gibt den Adresstyp der HBA an. Dieses Mitglied ist ab Windows 8 gültig.
Wert | Bedeutung |
---|---|
STORAGE_ADDRESS_TYPE_BTL8 | Die HBA verwendet 8-Bit-Bus-, Ziel- und LUN-Adressierung. |
Bemerkungen
Speicherklassentreiber stellen eine Gerätesteuerungsanforderung mit dem E/A-Steuerungscode IOCTL_STORAGE_QUERY_PROPERTY aus, um diese Struktur abzurufen, die Konfigurationsinformationen aus der HBA für Datenübertragungsvorgänge enthält. Die Struktur kann entweder aus dem Geräteobjekt für den Bus oder aus einem funktionalen Geräteobjekt (FDO) abgerufen werden, das die Anforderung an den zugrunde liegenden Bus weiterleitet.
Wenn bei einem HBA übermäßige Protokollfehler auftreten, die synchrone Übertragungen unterstützen (AcceleratedTransfer ist TRUE), kann der Speicherklassentreiber synchrone Übertragungen deaktivieren, indem SRB_FLAGS_DISABLE_SYNCH_TRANSFER in SRBs festgelegt wird.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntddstor.h (include Ntddstor.h) |