Freigeben über


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)

Siehe auch

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR