Compartilhar via


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.

Observação o driver de porta do ATA e os modelos de driver de miniporto do ATA podem estar alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar o de driver do Storport e miniporto storport modelos de driver.
 

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)