NDIS miniport interrupts on XP

Lets say I wanted to tie my ISR to the interrupt generated by my COM2 port,
and COM2 uses IRQ3.

What values would I use for AiInterrupt, and InterruptMode in the call
shown below?
Furthermore, is there something preventing me from sharing this interrupt
with the serial port?

Status = NdisMRegisterInterrupt(&Adapter->Interrupt,
Adapter->AdapterHandle,
Adapter->AiInterrupt,
Adapter->AiInterrupt,
TRUE,
TRUE,
Adapter->InterruptMode);

According to the DDK, AiInterrupt - Specifies the bus-relative vector
number used by the NIC. Well, I tried 3, but I got back
STATUS_UNSUCCESSFUL.
The DDK also says that InterruptMode should be either NdisInterruptLatched
or NdisInterruptLevelSensitive. So, which is it?

What I want to do, is test to see if my ISR routine works, without having
my actual hardware yet to test with. So, I’m trying to create a scenario
where I trigger an interrupt. Namely, I’ll have another computer send me a
byte on the serial port, when I want to trigger the interrupt. I’ll allow
the standard serial driver to do all of the interaction with the hardware,
and clear the interrupt. All I want is for the interrupt that’s coming in,
to also trigger my ISR routine, so I can make sure it’s working correctly.

If I can’t share the interrupt with COM2, is there a way I can take it
over? If you could provide instructions on how to disable XP from grabbing
this resource, and how I can have my driver claim it, that would be
appreciated.

Realize, I’m not actually interested in what’s on the serial port, I just
want to be able to trigger an interrupt, so I can test the rest of my
driver. If the interrupt is a software interrupt, a hardware interrupt, or
whatever, I need be able to register for an interrupt, and then trigger
that interrupt so I can see if my ISR routine works.

Thanks,
Brian


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com