Compartilhar via


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

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

Nota

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

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.

Valor de retorno

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.

Observações

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

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

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

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

Essa rotina não deve ter etapas críticas 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 lidar com uma ação IdeStart serão considerados habilitados. Essa rotina permite que o PCIIDEx carregue o driver de porta do ATA somente 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
da Plataforma de Destino Área de trabalho
cabeçalho irb.h (inclua Irb.h)

Consulte também

IDE_CONTROLLER_CONFIGURATION