#include <PCSC/ifdhandler.h>
RESPONSECODE IFDHGetCapabilities(DWORD Lun,
DWORD Tag,
PDWORD Length,
PUCHAR Value);
| Lun | IN | Logical Unit Number |
| Tag | IN | Tag of the desired data value |
| Length | INOUT | Length of the desired data value |
| Value | OUT | Value of the desired data |
This function should get the slot/card capabilities for a particular slot/card specified by Lun. Again, if you have only 1 card slot and don't mind loading a new driver for each reader then ignore Lun.
Return the ATR and it's size (implementation is mandatory).
Same as TAG_IFD_ATR but this one is not mandatory. It is defined in Microsoft PC/SC SCardGetAttrib().
Return the number of sessions (readers) the driver can handle in Value[0].
This is used for multiple readers sharing the same driver.
If the driver supports more than one reader (see TAG_IFD_SIMULTANEOUS_ACCESS above) this tag indicates if the driver supports access to multiple readers at the same time.
Value[0] = 1 indicates the driver supports simultaneous accesses.
Return the number of slots in this reader in Value[0].
If the reader has more than one slot (see TAG_IFD_SLOTS_NUMBER above) this tag indicates if the driver supports access to multiple slots of the same reader at the same time.
Value[0] = 1 indicates the driver supports simultaneous slot accesses.
This function is also called when the application uses the PC/SC SCardGetAttrib() function. The list of supported tags is not limited. The ones above are used by the PC/SC lite resource manager.
| IFD_SUCCESS | Successful |
| IFD_ERROR_TAG | Invalid tag given |
| IFD_NO_SUCH_DEVICE | The reader is no more present |
Ludovic Rousseau 2008-01-18