Use of the CONNECT_FULLY_SPECIFIED_GROUP flag to IoConnectInterruptEx() is
not supported prior to Windows 7, so when Group == 0 (which will always be
true for any OS prior to Windows 7) just use CONNECT_FULLY_SPECIFIED
in which case it is documented that Windows will assume Group == 0.
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
(*Interrupt)->Line = Raw->u.Interrupt.Vector;
RtlZeroMemory(&Connect, sizeof (IO_CONNECT_INTERRUPT_PARAMETERS));
- Connect.Version = CONNECT_FULLY_SPECIFIED_GROUP;
Connect.FullySpecified.PhysicalDeviceObject = __FdoGetPhysicalDeviceObject(Fdo);
Connect.FullySpecified.ShareVector = (BOOLEAN)(Translated->ShareDisposition == CmResourceShareShared);
Connect.FullySpecified.InterruptMode = (*Interrupt)->InterruptMode;
Connect.FullySpecified.ProcessorEnableMask = Translated->u.Interrupt.Affinity;
}
+ Connect.Version = (Connect.FullySpecified.Group != 0) ?
+ CONNECT_FULLY_SPECIFIED_GROUP :
+ CONNECT_FULLY_SPECIFIED;
+
status = IoConnectInterruptEx(&Connect);
if (!NT_SUCCESS(status))
goto fail2;