Hello,
I’m writing a wdm driver through which I’ve to communicate with 2 PCI cards.
I’ve used the same code as given in Walter Oney’s chapter 6 multifunction
example. The cards have 4 memory blocks & one interrupt line. I treat the
second card as a child of first card & creat the device object for it. I
also handle its IRPs as a bus driver for it.
One card gets initialized properly & I get resources handles for it.
As a bus driver for the second card, I’ve handled
IRP_MN_QUERY_DEVICE_RELATIONS & IRP_MN_QUERY_ID. For others, I just return
success. The card is not getting initialized, I’m not getting
IRP_MN_START_DEVICE for the second card ? What can be the reason ? I think I
should handle IRP_MN_QUERY_RESOURCE_REQUIREMENTS & IRP_MN_QUERY_RESOURCES.
Is it correct or there is any other way ?
Thanks , waiting for response.
Aparna
Wipro Technologies
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
The idea of multifunction device targets multiple logically independent
devices on the same (PCI) board, serviced by different drivers.
If your PCI cards are identical your driver gets an AddDevice request for
both of them anyway. Otherwise you can register your driver for each of
these devices wich should it make possible to handle them both by one
driver. But you have to find a way to distinguish them.
-----Original Message-----
From: Aparna Sachin Argade [mailto:xxxxx@wipro.com]
Sent: Wednesday, May 02, 2001 7:01 AM
To: NT Developers Interest List
Subject: [ntdev] driver for 2 cards
Hello,
I’m writing a wdm driver through which I’ve to communicate
with 2 PCI cards.
I’ve used the same code as given in Walter Oney’s chapter 6
multifunction
example. The cards have 4 memory blocks & one interrupt line.
I treat the
second card as a child of first card & creat the device
object for it. I
also handle its IRPs as a bus driver for it.
One card gets initialized properly & I get resources handles for it.
As a bus driver for the second card, I’ve handled
IRP_MN_QUERY_DEVICE_RELATIONS & IRP_MN_QUERY_ID. For others,
I just return
success. The card is not getting initialized, I’m not getting
IRP_MN_START_DEVICE for the second card ? What can be the
reason ? I think I
should handle IRP_MN_QUERY_RESOURCE_REQUIREMENTS &
IRP_MN_QUERY_RESOURCES.
Is it correct or there is any other way ?
Thanks , waiting for response.
Aparna
Wipro Technologies
You are currently subscribed to ntdev as: xxxxx@baslerweb.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
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