PCI to PCI bridge interrupts missing in Windows 10 RRS feed

  • Question

  • Hi,

    I posted this in OSROnline, but after their answer and more research here, I now think it is more of an Windows 10 issue. 

    We have an Express/34 device (yes, pretty ancient) and we are trying to implement a hot plug filter driver connected to pci.sys for it. This driver worked well in Windows 7 and 8, but did not work in Windows 10. It turns out that Windows 7 and 8 allocated IRQ resources for all the PCI-to-PCI bridges in the system which our filter driver connected to with IoConnectInterruptEx(). Windows 10 however has no IRQ resources allocated to the PCI-to-PCI bridges.  You can see the IRQ resource in Windows 7/8 but not in Windows 10 in the device manager.

    So, our search of the PCM_PARTIAL_RESOURCE_LIST in IRP_MN_START_DEVICE no longer finds a CmResourceTypeInterrupt. 

    We thought we could circumvent this by implementing a completion routine to IRP_MN_FILTER_RESOURCE_REQUIREMENTS (IRP_QUERY_RESOURCE_REQUIREMENTS doesn't seem to be called, even though we are a bus filter driver), but our addition of the  interrupt resource seems to be rejected by the system. I don't know whether that is because we formatting the resource request incorrectly or whether the system is just rejecting it. We are using a CmResourceTypeInterrupt with flags set to CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE.

    Either way, what is the correct way to ask for PCI Interrupt support on a PCI-to-PCI bridge in Windows 10? Windows 10 doesn't seem to have interrupts associated with the PCI-to-PCI bridges like Windows 7/8 did. 

    Henry Kannapell Sonnet Technologies, Inc

    Monday, August 1, 2016 12:59 PM