We have a PCI device for which we have a correctly functionning NT4 driver.
We have been able to reuse the same driver under W2K on most PCs, but we
recently encountered some PCs on which the driver doesn't work.
When the device is on the primary bus, the pnp manager leaves the interrupt
vector where it is when the PC boots, and everything works fine.
When the device is behind a PCI bridge, it seems that the pnp manager on W2K
changes the assigned interrupt vector when the device driver gets loaded and
then the driver doesn't work. If NT4 is running on this same machine,
everything works correctly.
The BIOS assigns an interrupt < 16 when booting. The pnp manager reassigns it
to a higher one.
The main problem is that, obviously, our ISR is never called.
In the device manager, I see our driver holding the original interrupt vector
that was assigned by the BIOS, but when I use tools to read the PCI
configuration space, I see that it was moved. It seems to be reassigned when
the driver loads.
Our DriverEntry() routine uses HalGetBusData, HalAssignSlotResources,
HalGetInterruptVector, and IoConnectInterrupt to find and manage the interrupts.
Is there a way to tell Windows not to reassign the interrupt?
Thanks!
Martin
--
Tel: (450) 681-1681, #271
------------------------------------------------------------------------
OKIOK
Enterprise and e-business security solutions
Solutions de sécurité d'entreprise et d'affaires électronique
Tel. : (450) 681.1681
http://www.okiok.com
This e-mail message (including attachments, if any) is intended for the
use of the individual or entity to which it is addressed and may contain
information that is privileged, proprietary, confidential and exempt
from disclosure. If you are not the intended recipient, you are notified
that any dissemination, distribution or copying of this communication is
strictly prohibited. If you have received this communication in error,
please notify the sender and erase this e-mail message immediately.
Le présent message électronique (y compris les pièces qui y sont
annexées, le cas échéant) s'adresse au destinataire indiqué et peut
contenir des renseignements de caractère privé ou confidentiel. Si vous
n'êtes pas le destinataire de ce document, nous vous signalons qu'il est
strictement interdit de le diffuser, de le distribuer ou de le
reproduire. Si ce message vous a été transmis par erreur, veuillez en
informer l'expéditeur et le supprimer immédiatement.