função de retorno de chamada IDE_CHANNEL_ENABLED (irb.h)

A rotina do driver de miniporto AtaControllerChannelEnabled indica se o canal especificado está habilitado.

Observação

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

IDE_CHANNEL_ENABLED IdeChannelEnabled;

ATA_CHANNEL_STATE IdeChannelEnabled(
  PVOID ControllerExtension,
  ULONG Channel
)
{...}

Parâmetros

ControllerExtension

[in] Um ponteiro para a extensão do controlador.

Channel

[in] O canal a ser habilitado.

Retornar valor

AtaControllerChannelEnabled retorna um valor enumerador do tipo ATA_CHANNEL_STATE, que pode ter qualquer um dos seguintes valores:

Código de retorno Significado
ChannelStateEnabled Indica que o canal especificado está habilitado.
ChannelStateDisabled Indica que o canal especificado está desabilitado.
ChannelStateUnKnown Indica que o estado do canal não pôde ser determinado.

Comentários

A sequência a seguir descreve como o driver de miniporto e o driver de porta interagem para determinar quais canais de controlador estão habilitados:

  1. O driver de porta chama a rotina AtaAdapterControl do driver de miniport com a ação de controle IdeStart.

  2. Embora o driver de miniporte processe a rotina AtaAdapterControl com a ação de controle IdeStart, ele inicializa o membro NumberOfChannels de IDE_CONTROLLER_CONFIGURATION para indicar o número de canais habilitados.

  3. Depois que a rotina AtaAdapterControl retorna, o driver de porta chama AtaControllerChannelEnabled uma vez para cada NumberOfChannels especificado na estrutura ControllerConfiguration que são retornados por AtaAdapterControl.

Essa rotina não deve ter etapas que sejam essenciais para a operação do controlador. Há situações, como durante uma operação de crashdump, em que essa função não será chamada. Além disso, essa função não é chamada quando um canal é reiniciado, somente quando PCIIDEx responde a um IRP QueryDeviceRelations.

AtaControllerChannelEnabled é uma rotina opcional. Se o driver de miniporto não implementar essa rotina, o driver de porta carregará um manipulador padrão. Se o driver de porta carregar um manipulador padrão, todos os canais especificados por NumberOfChannels na estrutura ControllerConfiguration retornada por AtaAdapterControl ao manipular uma ação IdeStart serão considerados habilitados. Essa rotina permite que PCIIDEx carregue o driver de porta do ATA apenas para os canais habilitados. Isso permite suporte a canais esparsos (por exemplo, canal 0, canal 1, canal 3, canal 4 e canal 6, mas não canal 2 e canal 5).

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho irb.h (inclua Irb.h)

Confira também

IDE_CONTROLLER_CONFIGURATION