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 포함) |