IDE_HW_INTERRUPT回调函数 (irb.h)

IdeHwInterrupt 微型端口驱动程序例程处理从主机总线适配器(HBA)连接到的微型端口驱动程序的控制器中断。

注意 ATA 端口驱动程序和 ATA 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序Storport 微型端口 驱动程序模型。
 

语法

IDE_HW_INTERRUPT IdeHwInterrupt;

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

参数

[in] ChannelExtension

指向通道扩展的指针。

返回值

AtaHwInterrrupt 如果某个控制器的通道生成中断,TRUE 返回。 如果通道未生成中断,则例程应尽快返回 FALSE

言论

IdeHwInterrupt 例程完成中断驱动的 I/O作。

如果指示的通道未生成中断,微型端口驱动程序应对 IdeHwInterrupt 例程进行第二次(递归)调用,以处理适用于控制器的其他通道的中断。

如果微型端口驱动程序需要大量的时间来处理中断,则必须执行以下步骤:

  1. 消除 HBA 上的中断。
  2. 禁用 ChannelExtension 参数指示的通道上的中断。
  3. 使用 AtaPortRequestWorkerRoutine请求辅助角色例程。
  4. 完成辅助角色例程中的其他处理。
  5. 在通道上启用中断。
不得从 IdeHwInterrupt 例程调用以下 ATA 端口例程: 但是,微型端口驱动程序可以请求辅助角色例程并在辅助角色例程中发出调用。

在返回 TRUE 之前,辅助角色例程必须清除 HBA 上的中断。

要求

要求 价值
目标平台 桌面
标头 irb.h (包括 Irb.h)

另请参阅

AtaPortCompleteAllActiveRequests

AtaPortDeviceBusy

AtaPortRequestWorkerRoutine