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 루틴에 대해 두 번째(재귀적) 호출을 수행해야 합니다.
미니포트 드라이버가 인터럽트 처리에 많은 시간이 필요한 경우 다음 단계를 수행해야 합니다.
- HBA에서 인터럽트 해제
- ChannelExtension 매개 변수로 표시되는 채널에서 인터럽트 사용 안 함
- AtaPortRequestWorkerRoutine을 사용하여 작업자 루틴을 요청합니다.
- 작업자 루틴에서 추가 처리를 완료합니다.
- 채널에서 인터럽트 사용
작업자 루틴은 TRUE를 반환하기 전에 HBA에서 인터럽트 지우기를 수행해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | irb.h(Irb.h 포함) |