IDE_HW_INTERRUPT回呼函式 (irb.h)
IdeHwInterrupt 迷你埠驅動程式例程會處理從迷你埠驅動程式控制器連線到的主機總線適配卡 (HBA) 中斷。
附注 ATA 埠驅動程式和 ATA 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式 和 Storport miniport 驅動程式模型。
語法
IDE_HW_INTERRUPT IdeHwInterrupt;
BOOLEAN IdeHwInterrupt(
[in] PVOID ChannelExtension
)
{...}
參數
[in] ChannelExtension
通道延伸模組的指標。
傳回值
AtaHwInterrrupt 如果中斷是由其中一個控制器通道產生,則會傳回 true。 如果通道未產生中斷,例程應該儘快傳回 FALSE。
言論
IdeHwInterrupt 例程會完成中斷驅動的 I/O 作業。
如果指定的通道未產生中斷,迷你埠驅動程序應該對 IdeHwInterrupt 例程進行第二次(遞歸)呼叫,以處理控制器其他通道所預期的中斷。
如果迷你埠驅動程式需要大量的時間來處理中斷,則必須遵循下列步驟:
- 關閉 HBA 上的中斷。
- 停用通道上的中斷,ChannelExtension 參數表示。
- 使用 AtaPortRequestWorkerRoutine來要求背景工作例程。
- 在背景工作例程中完成其他處理。
- 在通道上啟用中斷。
背景工作例程在傳回 TRUE 之前,必須先清除 HBA 上的中斷。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | irb.h (包括 Irb.h) |