estrutura IDE_CONTROLLER_CONFIGURATION (irb.h)
A estrutura IDE_CONTROLLER_CONFIGURATION é usada para passar informações de configuração do controlador entre o driver de porta e o driver de miniporte.
Sintaxe
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;
Membros
Version
O driver de porta define esse campo para indicar a versão do driver de porta. O driver de porta define a versão como sizeof(IDE_CONTROLLER_CONFIGURATION). O driver de miniporte deve verificar se a versão é maior ou igual à que está usando.
NumberOfChannels
Especifica o número de canais compatíveis com o HBA. Observe que isso indica o número total de canais, incluindo os que estão desabilitados.
ControllerMode
O driver de porta define esse campo para informar ao miniporto do ATA em qual modo ele está em execução. Há duas soluções possíveis:
Mode | Descrição |
---|---|
IdeModeNormal | Esse é o modo de recursos completo padrão em que o miniporto do ATA pode operar normalmente. |
IdeModeDump | Esse é o modo limitado sem memória no qual um miniporto do ATA opera durante a hibernação ou o carimbo de memória. Rotinas de chamada e rotinas de acesso do Registro não podem ser usadas quando nesse modo. |
NumberOfPhysicalBreaks
Especifica o número máximo de quebras entre intervalos de endereços que um buffer de dados pode ter se o HBA der suporte a dispersão/coleta. Em outras palavras, o número de listas de dispersão/coleta menos um. Por padrão, o valor desse membro é IDE_UNINITIALIZED_VALUE, o que indica que o HBA pode dar suporte a um número ilimitado de discontiguidades físicas. Se o driver de porta definir um valor para esse membro, o driver de miniporto poderá ajustar o valor mais baixo, mas não maior. Se esse membro for IDE_UNINITIALIZED_VALUE, o driver de miniporto deverá redefinir esse membro de acordo com a capacidade de dispersão/coleta do HBA.
MaximumTransferLength
Especifica o número máximo de bytes que o HBA pode transferir em uma única operação de transferência. Por padrão, o valor desse membro é IDE_UNINITIALIZED_VALUE, o que indica um tamanho de transferência máximo ilimitado.
Reserved
Reservado para uso futuro. O driver de miniporte não deve usar esse campo.
NativeModeEnabled
O driver de miniporte pode definir esse membro como TRUE para indicar que o controlador deve ser operado no modo Nativo.
Dma64BitAddress
O driver de miniporte pode definir esse membro como TRUE para indicar suporte para a operação de DMA de 64 bits.
BusMaster
O driver de miniporte pode definir esse membro como TRUE para indicar o suporte ao domínio do barramento.
AtaBusType
Indica se é um SATA ou um controlador PATA.
ControllerResources
Fornece os recursos de hardware para o controlador do ATA.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | irb.h (inclua Irb.h) |