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.

Nota Os modelos de driver de porta do ATA e do driver de miniporto do ATA podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver do Storport e do driver de miniporto storport .
 

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)