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 miniporto.
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 miniporto 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á sendo executado. Há dois modos possíveis:
Modo | Descrição |
---|---|
IdeModeNormal | Esse é o modo de recursos completo padrão em que o miniporto do ATA pode operar normalmente. |
IdeModeDump | Esse é o modo de memória sem memória limitado em que um miniporto do ATA opera durante hibernação ou crashdump. Rotinas de chamada e rotinas de acesso do Registro não podem ser usadas 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 uma. 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 descontinuidades 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 mais alto. 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 miniporto não deve usar esse campo.
NativeModeEnabled
O driver de miniporto pode definir esse membro como verdadeiro para indicar que o controlador deve ser operado no modo Nativo.
Dma64BitAddress
O driver de miniporto pode definir esse membro como verdadeiro para indicar o suporte para a operação DMA de 64 bits.
BusMaster
O driver de miniporto pode definir esse membro como verdadeiro 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) |