SCARD_VENDOR_ATTR

The SCARD_VENDOR_ATTR structure holds all information about the reader. The driver is responsible for filling in all members.

typedef struct _VENDOR_ATTR {

    //
    // Manufacturer name
    //
    struct {
        
        USHORT Length;
        UCHAR  Buffer[MAXIMUM_ATTR_STRING_LENGTH];
    } VendorName;

    //
    // Name (designation) of reader
    //
    struct {
        
        USHORT Length;
        UCHAR  Buffer[MAXIMUM_ATTR_STRING_LENGTH];
    } IfdType;

    //
    // If more than one reader of the same type are installed
    // this unit number is used to distinguish these readers
    //
    ULONG    UnitNo;

    //
    // IFD Version number
    //
    struct {
        
        USHORT  BuildNumber;
        UCHAR   VersionMinor;
        UCHAR   VersionMajor;
    } IfdVersion;

    //
    // IFD Serial number
    //
    struct {
        
        USHORT Length;
        UCHAR  Buffer[MAXIMUM_ATTR_STRING_LENGTH];
    } IfdSerialNo;

    //
    // Reserved, do not use
    //
    ULONG   Reserved[25];

} VENDOR_ATTR, *PVENDOR_ATTR;
 

Members

The following members must be maintained by the driver:

VendorName
Mandatory. Contains the ANSI-coded name of the vendor. Since a length field is provided, no terminating NULL character is necessary.
IfdType
Mandatory. Contains the ANSI-coded designation of the reader (that is, the reader name).
UnitNo
Mandatory. This is the zero-based number of this unit. Since it is possible to have more than one reader of this type installed in a system, UnitNo is used to distinguish the readers.
IfdVersion
Optional. The version number of the reader. This member can be used for support purposes. It should be maintained only if the reader allows the value to be queried.
IfdSerialNumber
Optional. The serial number of the connected reader. This field should only be maintained if the reader allows the serial number to be queried.