Partilhar via


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

O IdeHwInterrupt rotina do motorista de miniporto manipula interrupções do HBA (adaptador de barramento do host) ao qual o controlador do driver de miniporto está conectado.

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

IDE_HW_INTERRUPT IdeHwInterrupt;

BOOLEAN IdeHwInterrupt(
  [in] PVOID ChannelExtension
)
{...}

Parâmetros

[in] ChannelExtension

Um ponteiro para a extensão do canal.

Valor de retorno

AtaHwInterrrupt retornará verdadeiro se a interrupção for gerada por um dos canais do controlador. Se um canal não gerou a interrupção, a rotina deverá retornar FALSE o mais rápido possível.

Observações

A rotina deIdeHwInterrupt doconclui operações de E/S controladas por interrupção.

Se o canal indicado não gerou a interrupção, o driver de miniporto deverá fazer uma segunda chamada (recursiva) para o rotina de IdeHwInterrupt para lidar com interrupções destinadas ao outro canal do controlador.

Se o driver de miniporto exigir uma grande quantidade de tempo para processar a interrupção, ele deverá seguir estas etapas:

  1. Ignore a interrupção no HBA.
  2. Desabilite interrupções no canal indicado pelo parâmetro ChannelExtension.
  3. Solicite uma rotina de trabalho usando AtaPortRequestWorkerRoutine.
  4. Conclua o processamento adicional na rotina de trabalho.
  5. Habilite interrupções no canal.
As seguintes rotinas de porta do ATA não devem ser chamadas da rotina deIdeHwInterrupt: No entanto, o motorista do miniporto pode solicitar uma rotina de trabalho e fazer chamadas na rotina de trabalho.

A rotina de trabalho deve limpar a interrupção no HBA antes de retornar VERDADEIRO.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho irb.h (inclua Irb.h)

Consulte também

AtaPortCompleteAllActiveRequests

AtaPortDeviceBusy

AtaPortRequestWorkerRoutine