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 連接埠例程: 不過,迷你埠驅動程式可以要求背景工作例程,並在背景工作例程中進行呼叫。

背景工作例程必須清除 HBA 上的中斷,才能傳回 TRUE

規格需求

需求
目標平台 桌面
標頭 irb.h (包含 Irb.h)

另請參閱

AtaPortCompleteAllActiveRequests

AtaPortDeviceBusy

AtaPortRequestWorkerRoutine