Freigeben über


IDE_CONTROLLER_CONFIGURATION Struktur (irb.h)

Die IDE_CONTROLLER_CONFIGURATION-Struktur wird verwendet, um Controllerkonfigurationsinformationen zwischen dem Porttreiber und dem Miniporttreiber zu übergeben.

Hinweis Der ATA-Porttreiber und die ATA Miniport-Treibermodelle können in Zukunft geändert oder nicht verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
 

Syntax

typedef struct _IDE_CONTROLLER_CONFIGURATION {
  USHORT                  Version;
  UCHAR                   NumberOfChannels;
  IDE_OPERATION_MODE      ControllerMode;
  UCHAR                   NumberOfPhysicalBreaks;
  ULONG                   MaximumTransferLength;
  BOOLEAN                 Reserved;
  BOOLEAN                 NativeModeEnabled;
  BOOLEAN                 Dma64BitAddress;
  BOOLEAN                 BusMaster;
  IDE_BUS_TYPE            AtaBusType;
  PIDE_MINIPORT_RESOURCES ControllerResources;
} IDE_CONTROLLER_CONFIGURATION, *PIDE_CONTROLLER_CONFIGURATION;

Angehörige

Version

Der Porttreiber legt dieses Feld fest, um die Version des Porttreibers anzugeben. Der Porttreiber legt die Version auf sizeof(IDE_CONTROLLER_CONFIGURATION) fest. Der Miniporttreiber sollte überprüfen, ob die Version größer oder gleich der Version ist, die sie verwendet.

NumberOfChannels

Gibt die Anzahl der vom HBA unterstützten Kanäle an. Beachten Sie, dass dies die Gesamtzahl der Kanäle angibt, einschließlich der Kanäle, die deaktiviert sind.

ControllerMode

Der Porttreiber legt dieses Feld fest, um den ATA-Miniport darüber zu informieren, an welchem Modus er ausgeführt wird. Es gibt zwei mögliche Modi:

Modus Beschreibung
IdeModeNormal Dies ist der standardmäßige Vollfunktionenmodus, in dem der ATA-Miniport normal ausgeführt werden kann.
IdeModeDump Dies ist der eingeschränkte Arbeitsspeichermodus, in dem ein ATA-Miniport während des Ruhezustands oder Absturzabbruchs ausgeführt wird. Rückrufroutinen und Registrierungszugriffsroutinen können in diesem Modus nicht verwendet werden.

NumberOfPhysicalBreaks

Gibt die maximale Anzahl von Umbrüchen zwischen Adressbereichen an, die ein Datenpuffer aufweisen kann, wenn der HBA XY/Gather unterstützt. Mit anderen Worten, die Anzahl der Punkt-/Sammellisten minus eins. Standardmäßig ist der Wert dieses Elements IDE_UNINITIALIZED_VALUE, was angibt, dass die HBA eine unbegrenzte Anzahl von physischen Brüchen unterstützen kann. Wenn der Porttreiber einen Wert für dieses Element festlegt, kann der Miniporttreiber den Wert niedriger, aber nicht höher anpassen. Wenn dieses Mitglied IDE_UNINITIALIZED_VALUE ist, muss der Miniporttreiber dieses Element entsprechend der X/Gather-Kapazität des HBA zurücksetzen.

MaximumTransferLength

Gibt die maximale Anzahl von Bytes an, die der HBA in einem einzelnen Übertragungsvorgang übertragen kann. Standardmäßig ist der Wert dieses Elements IDE_UNINITIALIZED_VALUE, der eine unbegrenzte maximale Übertragungsgröße angibt.

Reserved

Reserviert für die zukünftige Verwendung. Der Miniporttreiber darf dieses Feld nicht verwenden.

NativeModeEnabled

Der Miniporttreiber kann dieses Element auf TRUE- festlegen, um anzugeben, dass der Controller im nativen Modus betrieben werden soll.

Dma64BitAddress

Der Miniporttreiber konnte dieses Element auf TRUE- festlegen, um die Unterstützung für den 64-Bit-DMA-Vorgang anzugeben.

BusMaster

Der Miniporttreiber konnte dieses Element auf TRUE- festlegen, um die Unterstützung für die Busmasterung anzugeben.

AtaBusType

Gibt an, ob es sich um einen SATA- oder PATA-Controller handelt.

ControllerResources

Stellt die Hardwareressourcen für den ATA-Controller bereit.

Anforderungen

Anforderung Wert
Header- irb.h (include Irb.h)