[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ms-smartcardddk
Subject:    Re: Card tracking, RM, Win2K ..
From:       Guillaume Nodet <guillaume.nodet () PHILIPS ! COM>
Date:       2000-01-25 15:22:17
[Download RAW message or body]


I've implemented a dual Smartcard Reader under Win2K.
It passes all ifdtest with the two smartcard slots.
However, when I start the SmartCard Service, iv' got a problem on the s=
econd reader.
Here is a log (in this log, a smartcard is inserted in each slot)

Slot 0: IRP_MJ_CREATE
Slot 0: IOCTL_SMARTCARD_GET_ATTRIBUTE
....
Slot 0: IOCTL_SMARTCARD_GET_ATTRIBUTE
Slot 0: IOCTL_SMARTCARD_IS_PRESENT
Slot 0: IOCTL_SMARTCARD_GET_LAST_ERROR
Slot 0: IOCTL_SMARTCARD_POWER (power on)
Slot 1: IRP_MJ_CREATE
Slot 0: IOCTL_SMARTCARD_SET_ATTRIBUTE
Slot 0: IOCTL_SMARTCARD_GET_LAST_ERROR
Slot 0: IOCTL_SMARTCARD_IS_ABSENT       -> Card tracking (STATUS_PENDING)
Slot 1: IOCTL_SMARTCARD_GET_ATTRIBUTE
...
Slot 1: IOCTL_SMARTCARD_GET_ATTRIBUTE
Slot 1: IOCTL_SMARTCARD_IS_PRESENT
Slot 1: IOCTL_SMARTCARD_GET_LAST_ERROR
Slot 1: IOCTL_SMARTCARD_POWER (power on)
Slot 1: IOCTL_SMARTCARD_SET_ATTRIBUTE
Slot 1: IOCTL_SMARTCARD_GET_LAST_ERROR
Slot 1: IOCTL_SMARTCARD_GET_ATTRIBUTE
Slot 1: IOCTL_SMARTCARD_IS_ABSENT       -> Card tracking (STATUS_PENDING)
Slot 1: IOCTL_SMARTCARD_GET_LAST_ERROR
Slot 1: IOCTL_SMARTCARD_POWER (power off)
Slot 1: IOCTL_SMARTCARD_GET_LAST_ERROR
Slot 1: IOCTL_SMARTCARD_EJECT
Slot 1: IRP_MJ_CLEANUP
Slot 1: IRP_MJ_CLOSE

When the card tracking is done, the only operations done on the notific=
ation irp are
        IoSetCancelRoutine( Irp, ... )
        IoMarkIrpPending( Irp );
        return STATUS_PENDING;


When the two smarcards are removed, the first slot is ok and for the se=
cond, the log is:
Slot 1: IRP_MJ_CREATE
Slot 1: IOCTL_SMARTCARD_GET_ATTRIBUTE
...
Slot 1: IOCTL_SMARTCARD_GET_ATTRIBUTE
Slot 1: IOCTL_SMARTCARD_IS_PRESENT      -> Card tracking (STATUS_PENDING)
Slot 1: IOCTL_SMARTCARD_GET_LAST_ERROR
Slot 1: IRP_MJ_CLEANUP
Slot 1: IRP_MJ_CLOSE

I don't understand what happens.
Can anyone help, please ?

Guillaume Nodet
Philips Semiconductors
=

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic