Hartmut Birr wrote:
I see no reason to make all internal structures from ntoskrnl compatible with the M$ one.
Me neither, unless they are publicly documented.
I'm not sure if the KINTERRUPT structure is public documented.
It's widely available, so people are bound to use it.
The end of the structure looks like a little bit if it was extracted from code or from a symbol file.
I don't really understand what's wrong with the end. I looked at the structure from 1) our w32api 2) ntifs.h 3) ms symbols.
For smp machines we need an array of KINTERRUPT structures. IMOH it should be an header with some informations (count, the nice ProcessorEnableMask, ..) and an array of the real interrupt structures.
I think that's how IoConnectInterrupt works.
But in this case the structures for the Io- and Ke-functions are different.
Yes, a meta-function for IoConnectInterrupt storing the data you said. That one is not publically documented however, so ours can be anything you like. In my local test change, I stored the array and ProcessorEnableMask.
I'm only asking to move two or three items up or down, and rename two of them. The code changes took me less then 5 minutes. I stronlgy believe that we must duplicate public structures.
- Hartmut
Best regards, Alex Ionescu