// smclib.h
typedef struct _VENDOR_ATTR {
struct {
USHORT Length;
UCHAR Buffer[MAXIMUM_ATTR_STRING_LENGTH];
} VendorName;
struct {
USHORT Length;
UCHAR Buffer[MAXIMUM_ATTR_STRING_LENGTH];
} IfdType;
ULONG UnitNo;
struct {
USHORT BuildNumber;
UCHAR VersionMinor;
UCHAR VersionMajor;
} IfdVersion;
struct {
USHORT Length;
UCHAR Buffer[MAXIMUM_ATTR_STRING_LENGTH];
} IfdSerialNo;
ULONG Reserved[25];
} VENDOR_ATTR, *PVENDOR_ATTR;
View the official Windows Driver Kit DDI referenceNo description available.
The VENDOR_ATTR structure defines the data that is stored in the VendorAttr member of the SMARTCARD_EXTENSION structure. VENDOR_ATTR also holds information that identifies the smart card reader, such as the vendor name, unit number, and serial number.
VendorNameA structure with the following members:
VendorName.LengthContains the length of the ANSI-coded name of the vendor. This member is required.
VendorName.BufferContains the ANSI-coded name of the vendor. Because a length field is provided, no terminating NULL character is necessary. This member is required.
IfdTypeA structure with the following members:
IfdType.LengthContains the length of the ANSI-coded designation of the reader. This member is required.
IfdType.BufferContains the ANSI-coded reader name. This member is required.
UnitNoContains the zero-based number of this unit. Because you can have more than one reader of this kind installed, UnitNo can distinguish the readers. This member is required.
IfdVersionA structure with the following members:
IfdVersion.BuildNumberContains the build number of the reader driver. This member can be used for support purposes and should be maintained only if the reader allows the value to be queried. This member is optional.
IfdVersion.VersionMinorContains the minor version number of the reader driver. This member can be used for support purposes and should be maintained only if the reader allows the value to be queried. This member is optional.
IfdVersion.VersionMajorContains the major version number of the reader driver. This member can be used for support purposes and should be maintained only if the reader allows the value to be queried. This member is optional.
IfdSerialNoA structure with the following members:
IfdSerialNo.LengthContains the length of the serial number, in bytes, of the connected reader.
IfdSerialNo.BufferA pointer to the serial number of the connected reader. This field should only be maintained if the reader allows the serial number to be queried. This member is optional.
ReservedReserved for system use.