Лабораторный практикум по изучению возможностей и приобретению практических навыков разработки приложений с использованием смарт-карт ASE фирмы Athena Smartcard Solutions Ltd. Бабенко Л.К - 11 стр.

UptoLike

FileProperties1.wID = 0x01; // Идентификатор файла
FileProperties1.wBytesAllocated = 32; // Размер файла
FileProperties1.wWriteConditions = AC_PIN_AND_MAIN_KEY;
// Условия записи
FileProperties1.wWriteKeyNumber = 0; // Номер ключа доступа на запись
FileProperties1.wReadConditions = AC_NONE; //Условия чтения
FileProperties1.wReadKeyNumber = 0;// Номер ключа доступа на чтение
Здесь: FileProperties1.wID — идентификатор файла (уникальное в пре-
делах приложения однобайтовое имя в шестнадцатиричном формате); FileProp-
erties1.wBytesAllocated — количество байт, отведенное под файл (отводится
один раз при создании файла и впоследствии не может
быть изменено);
FileProperties1.wWriteConditions — права доступа на запись данных в файл в
виде символьной константы (в данном случае перед попыткой записи в файл
требуется предъявить PIN-код и Главный ключ карты); FileProper-
ties1.wWriteKeyNumber — номер ключа доступа (для случая указания требова-
ния предъявления ключа доступа — ACCESS_KEY); FileProper-
ties1.wReadConditionsправа доступа на чтение данных из файла в виде сим
-
вольной константы (в данном случае для чтения из файла не требуется предъяв-
ления никакого ключа, т.е. чтение свободно для всех); FileProper-
ties1.wReadKeyNumber — номер ключа доступа (для случая указания требова-
ния предъявления ключа доступа — ACCESS_KEY).
Ниже приведено описание типов некоторых стандартных переменных
для работы с картой:
// Стандартные структуры данных для работы.
ASERESULT AseResult;
HASEREADER hAseReader;
HASECARD hAseCard;
DWORD dwActiveProtocol;
DWORD aseReadersCount;
WORD wMaxKeyChanges;
FILEPROPERTIES FileInfo;
Здесь: AseResult — переменная в которую будут заноситься результаты
выполнения команд (по сутикоды ошибок), физически представляет собой
двойное слово; hAseReader — хэндл (указатель) на устройство чтения/записи
ASEDrive, по которому в дальнейшем и будет производиться обращение к ри-
деру и вызов функций API устройства ASEDrive; hAseCard — хэндл на актив-
ную в данный момент карту, по
нему производится вызов всех высокоуровне-
вых функций High Level API; dwActiveProtocol — двойное слово, сюда после
вызова функции ASECardPowerOn() занесется символьная константа протокола
11