Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

OSR Seminars

Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 5  
14 Feb 18 13:19
Tim Roberts
Join Date: 28 Jan 2005
Posts To This List: 12024

While trying to answer a question, I just noticed something strange in the documentation for the ISR for message-signaled interrupts at kmessage_service_routine 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, Providenza & Boekelheide, Inc.
  Message 2 of 5  
14 Feb 18 18:25
Pavel A
Join Date: 21 Jul 2008
Posts To This List: 2426

Very strange indeed. MSIs can be shared now? On which kind of platform? -- pa
  Message 3 of 5  
19 Feb 18 02:04
anton bassov
Join Date: 16 Jul 2006
Posts To This List: 4519

> How can I possibly check whether the value for ServiceContext matches what > I passed to IoConnectInterruptEx?? Actually, I am more "impressed" my MSI sharing part...... Concerning the above question, you can always save a pointer that you have passed to IoConnectInterruptEx() in some global variable (or array in case of multiple calls to IoConnectInterruptEx() for different instances of your device) so that you can identify your targets. No matter how stupid and awkward the above mentioned approach is, it is going to sort out the issue you are asking about. However, the idiocy of MSI sharing suggestion is so profound that it just leaves me sort of speechless.... Anton Bassov
  Message 4 of 5  
19 Feb 18 13:16
Alex Grig
Join Date: 14 Apr 2008
Posts To This List: 3235

I think that's a copy-paste error
  Message 5 of 5  
20 Feb 18 12:18
Peter Viscarola
Join Date:
Posts To This List: 6256
List Moderator

It's GOT to be a doc bug. Peter OSR @OSRDrivers
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 03:46.

Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license