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.

Nota Los modelos de controlador de puerto ATA y controlador de minipuerto de ATA pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el controlador Storport y los modelos de controlador de miniport storport .
 

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)