IDE_CONTROLLER_CONFIGURATION-Struktur (irb.h)

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

Hinweis Die Modelle ATA-Porttreiber und ATA-Miniporttreiber können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen wird empfohlen, die Modelle Storport-Treiber und Storport-Miniporttreiber zu verwenden.
 

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;

Member

Version

Der Porttreiber legt dieses Feld so fest, dass die Version des Porttreibers angegeben wird. 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 er 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, in welchem Modus er ausgeführt wird. Es gibt zwei mögliche Modi:

Mode BESCHREIBUNG
IdeModeNormal Dies ist der Standardmäßige Modus für vollständige Funktionen, in dem der ATA-Miniport normal ausgeführt werden kann.
IdeModeDump Dies ist der eingeschränkte Modus ohne Arbeitsspeicher, in dem ein ATA-Miniport während des Ruhezustands oder Absturzvorgangs ausgeführt wird. Rückrufroutinen und Registrierungszugriffsroutinen können in diesem Modus nicht verwendet werden.

NumberOfPhysicalBreaks

Gibt die maximale Anzahl von Unterbrechungen zwischen Adressbereichen an, die ein Datenpuffer aufweisen kann, wenn der HBA scatter/gather unterstützt. Mit anderen Worten, die Anzahl der Punkt-/Sammlungslisten abzüglich 1. Standardmäßig ist der Wert dieses Members IDE_UNINITIALIZED_VALUE, was angibt, dass der HBA eine unbegrenzte Anzahl physischer Nichtigkeiten 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 dieser Member IDE_UNINITIALIZED_VALUE ist, muss der Miniporttreiber diesen Member entsprechend der Scatter/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 Members IDE_UNINITIALIZED_VALUE, was eine unbegrenzte maximale Übertragungsgröße angibt.

Reserved

Für die zukünftige Verwendung reserviert. Der Miniporttreiber darf dieses Feld nicht verwenden.

NativeModeEnabled

Der Miniporttreiber könnte diesen Member auf TRUE festlegen, um anzugeben, dass der Controller im einheitlichen Modus betrieben werden soll.

Dma64BitAddress

Der Miniporttreiber könnte diesen Member auf TRUE festlegen, um die Unterstützung für den 64-Bit-DMA-Vorgang anzugeben.

BusMaster

Der Miniporttreiber könnte diesen Member auf TRUE festlegen, um die Busmasterunterstützung 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)