IDE_CONTROLLER_CONFIGURATION-Struktur (irb.h)
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;
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) |