Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die IDE_CONTROLLER_CONFIGURATION-Struktur wird verwendet, um Controllerkonfigurationsinformationen zwischen dem Porttreiber und dem Miniporttreiber zu übergeben.
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) |