Compartir a través de


estructura 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 miniport ATA pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el del controlador storport de y modelos de controlador de 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 miniport 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 ejecuta. Hay dos modos posibles:

Modo Descripción
IdeModeNormal Este es el modo de funcionalidades completas estándar donde el miniport 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 puede tener un búfer de datos 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 discontinuidades físicas. Si el controlador de puerto establece un valor para este miembro, el controlador de miniporte puede ajustar el valor inferior, pero no superior. Si este miembro es IDE_UNINITIALIZED_VALUE, el controlador de miniporte debe restablecer este miembro según la capacidad de dispersión o 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 miniporte no debe usar este campo.

NativeModeEnabled

El controlador de miniport podría establecer este miembro en TRUE para indicar que el controlador debe funcionar en modo nativo.

Dma64BitAddress

El controlador de miniport 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 masterización de buses.

AtaBusType

Indica si es un sata o un controlador PATA.

ControllerResources

Proporciona los recursos de hardware para el controlador ATA.

Requisitos

Requisito Valor
encabezado de irb.h (incluya Irb.h)