While trying to answer a question, I just noticed something strange in
the documentation for the ISR for message-signaled interrupts at
The system can call an /InterruptMessageService/ routine even when
the routine’s interrupt has not occurred. For example, if a
message-signaled interrupt is shared, /InterruptMessageService/ can
be called for interrupts belonging to other devices. The routine
must check whether the value for the /ServiceContext/ parameter
matches the value passed to *IoConnectInterruptEx*. If the value
does match, /InterruptMessageService/ handles the interrupt and
returns *TRUE*. Otherwise, /InterruptMessageService/does not handle
the interrupt and returns *FALSE*.
They cannot mean what they wrote here. How can I possibly check whether
the value for ServiceContext matches what I passed to
IoConnectInterruptEx? If I could establish my context independently, I
wouldn’t need the ServiceContext parameter at all. What do you suppose
they were trying to say?
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.