Hi,
I’m writing a driver for a multiple slot smart card reader. I need to
expose Interface for PC/SC for each slot. In Win 98 There is no need to
use the IoRegisterDeviceInterface for PC/SC so I just created a Non linked
device objects for each slot (except the major slot), in this way I can
distinguish between the slots requests by the pointer to the device
objects that I get in the DispatchControl. In Win 2000 I must use the
IoRegisterDeviceInterface but IoRegisterDeviceInterface use the one and
only one Pdo. Is there a way to register interface to unlinked device
object? is there a way to expose more then one Device Interface with the
same GUID (SmartCardReaderGuid) and to distinguish between the Interfaces
request ? can I solve this problem without a bus driver?
Thanks A lot
Gil,
Gil Mizrahi wrote:
I’m writing a driver for a multiple slot smart card reader. I need to
expose Interface for PC/SC for each slot. In Win 98 There is no need to
use the IoRegisterDeviceInterface for PC/SC so I just created a Non linked
device objects for each slot (except the major slot), in this way I can
distinguish between the slots requests by the pointer to the device
objects that I get in the DispatchControl. In Win 2000 I must use the
IoRegisterDeviceInterface but IoRegisterDeviceInterface use the one and
only one Pdo. Is there a way to register interface to unlinked device
object? is there a way to expose more then one Device Interface with the
same GUID (SmartCardReaderGuid) and to distinguish between the Interfaces
request ? can I solve this problem without a bus driver?
If you’re writing your own CCID driver, you might want to follow the
same plan I did when building mine. I have a single driver that acts as
a bus driver for the main adapter and as the driver for each of the
slots. Each slot makes its own call to IoRegisterDeviceInterface or
SmartcardCreateLink, as the case may be. I picked this architecture
because each slot has to call into some central server to do the actual
I/O in order to honor the bMaxCCIDBusySlots option, to properly manage
the sequence numbering, to handle slot aborts, etc. (This driver is
commercially available, btw. You could probably save yourself a fair
amount of grief by contacting me privately.)
–
Walter Oney, Consulting and Training
Check out new US seminar schedule at http://www.oneysoft.com
I would suggest writing a bus driver for such a thing.
Max
----- Original Message -----
From: “Gil Mizrahi”
To: “NT Developers Interest List”
Sent: Tuesday, September 24, 2002 1:46 PM
Subject: [ntdev] Multiple slot smart card reader
> Hi,
> I’m writing a driver for a multiple slot smart card reader. I need
to
> expose Interface for PC/SC for each slot. In Win 98 There is no
need to
> use the IoRegisterDeviceInterface for PC/SC so I just created a Non
linked
> device objects for each slot (except the major slot), in this way I
can
> distinguish between the slots requests by the pointer to the device
> objects that I get in the DispatchControl. In Win 2000 I must use
the
> IoRegisterDeviceInterface but IoRegisterDeviceInterface use the one
and
> only one Pdo. Is there a way to register interface to unlinked
device
> object? is there a way to expose more then one Device Interface with
the
> same GUID (SmartCardReaderGuid) and to distinguish between the
Interfaces
> request ? can I solve this problem without a bus driver?
>
> Thanks A lot
> Gil,
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>