estructura de IDE_CONTROLLER_CONFIGURATION (irb.h)
La estructura IDE_CONTROLLER_CONFIGURATION se usa para pasar información de configuración del controlador entre el controlador de puerto y el controlador de minipuerto.
Sintaxis
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;
Miembros
Version
El controlador de puerto establece este campo para indicar la versión del controlador de puerto. El controlador de puerto establece la versión en sizeof(IDE_CONTROLLER_CONFIGURATION). El controlador de minipuerto debe comprobar que la versión es mayor o igual que la que está usando.
NumberOfChannels
Especifica el número de canales admitidos por el HBA. Tenga en cuenta que esto indica el número total de canales, incluidos los que están deshabilitados.
ControllerMode
El controlador de puerto establece este campo para informar al miniporte de ATA en qué modo se está ejecutando. Hay dos posibles modos:
Mode | Descripción |
---|---|
IdeModeNormal | Este es el modo estándar de funcionalidades completas en el que la minipuerta de ATA puede funcionar normalmente. |
IdeModeDump | Este es el modo de memoria limitado en el que funciona un miniporte de ATA durante la hibernación o el bloqueo. Las rutinas de devolución de llamada y las rutinas de acceso al Registro no se pueden usar cuando están en este modo. |
NumberOfPhysicalBreaks
Especifica el número máximo de saltos entre intervalos de direcciones que un búfer de datos puede tener si el HBA admite dispersión o recopilación. En otras palabras, el número de listas de dispersión y recopilación menos una. De forma predeterminada, el valor de este miembro es IDE_UNINITIALIZED_VALUE, lo que indica que el HBA puede admitir un número ilimitado de disconiguidades físicas. Si el controlador de puerto establece un valor para este miembro, el controlador de minipuerto puede ajustar el valor inferior pero no superior. Si este miembro es IDE_UNINITIALIZED_VALUE, el controlador de minipuerto debe restablecer este miembro según la capacidad de dispersión/recopilación del HBA.
MaximumTransferLength
Especifica el número máximo de bytes que el HBA puede transferir en una sola operación de transferencia. De forma predeterminada, el valor de este miembro es IDE_UNINITIALIZED_VALUE, lo que indica un tamaño de transferencia máximo ilimitado.
Reserved
Reservado para uso futuro. El controlador de minipuerto no debe usar este campo.
NativeModeEnabled
El controlador de minipuerto podría establecer este miembro en TRUE para indicar que el controlador se va a operar en modo nativo.
Dma64BitAddress
El controlador de minipuerto podría establecer este miembro en TRUE para indicar la compatibilidad con la operación DMA de 64 bits.
BusMaster
El controlador de minipuerto podría establecer este miembro en TRUE para indicar la compatibilidad con la creación de maestros de bus.
AtaBusType
Indica si es un sata o un controlador PATA.
ControllerResources
Proporciona los recursos de hardware para el controlador ATA.
Requisitos
Requisito | Valor |
---|---|
Header | irb.h (incluya Irb.h) |