ISR 컨텍스트 정보 제공

항목에서 ISR은 루틴을 등록하기 위해 IoConnectInterruptEx 를 호출할 때 드라이버가 설정한 컨텍스트 영역에 대한 포인터를 받습니다.

대부분의 드라이버는 인터럽트 생성 물리적 디바이스를 나타내는 디바이스 개체 또는 해당 디바이스 개체의 디바이스 확장에 대한 컨텍스트 포인터를 설정합니다. 디바이스 확장에서 드라이버는 드라이버의 ISR 및 DpcForIsr 루틴에 대한 상태 정보를 저장할 수 있으며, 후자는 일반적으로 디바이스가 중단된 각 요청을 충족하기 위해 거의 모든 I/O 처리를 수행합니다.

일반적으로 드라이버는 디바이스 확장을 사용하여 디바이스의 각 인터럽트 개체( IoConnectInterruptEx 호출에서 반환됨)에 대한 포인터를 저장합니다. 또한 드라이버는 일반적으로 ISR이 ISR이 지원하는 디바이스에서 인터럽트를 실행했는지 여부를 확인할 수 있는 정보를 디바이스 확장에 저장합니다.

또는 인터럽트 개체 포인터를 드라이버가 할당하는 비페이지 풀에 저장할 수 있습니다.