SDK Readers 1.0.1
SDK для связи со считывателями Iron logic
Класс ilr::CReader

Класс считывателя. Подробнее...

#include <ilr_cpp_helpers.h>

Граф наследования:ilr::CReader:
Граф связей класса ilr::CReader:

Открытые члены

 CReader ()
 Конструктор по умолчанию.
 
 CReader (ilr_handle h)
 Конструктор класса из дескриптора считывателя. Подробнее...
 
 CReader (CReader &&other)
 Конструктор перемещения. Подробнее...
 
virtual ~CReader ()
 Деструктор
 
CReaderoperator= (CReader &&other)
 Оператор перемещения
 
void SetMessageCallback (ilr_reader_message_callback pCallback, void *pUserData=nullptr)
 Устанавливает функцию обратного вызова для уведомлений считывателя. Подробнее...
 
void EnableMessageQueue (bool fEnable=true)
 Включает/выключает очередь сообщений. Подробнее...
 
bool GetMessage (ilr_reader_msg &nMsg, const void *&pMsgData) const
 Извлекает следующее сообщение из очереди. Подробнее...
 
void SetOptions (const ilr_reader_options &rOptions)
 Устанавливает параметры считывателя. Подробнее...
 
void GetOptions (ilr_reader_options &rOptions) const
 Возвращает параметры считывателя. Подробнее...
 
void Connect (bool fReconnect=false)
 Подключается к считывателю. Подробнее...
 
CAsyncCommand Begin_Connect (bool fReconnect=false)
 Запускает асинхронную команду подключения к считывателю. Подробнее...
 
void Disconnect ()
 Отключается от считывателя. Подробнее...
 
CAsyncCommand Begin_Disconnect ()
 Запускает асинхронную команду отключения от считывателя. Подробнее...
 
ilr_connection_status GetConnectionStatus () const
 Возвращает состояние подключения к считывателю Подробнее...
 
void GetReaderInfo (ilr_reader_info &rInfo) const
 Возвращает информацию о считывателе. Подробнее...
 
void Scan (bool fReset=false, bool fPowerOff=true)
 Ищет карты. Подробнее...
 
CAsyncCommand Begin_Scan (bool fReset=false, bool fPowerOff=true)
 Запускает асинхронную команду поиска карты. Подробнее...
 
bool GetCardInfo (ilr_card_info &rInfo) const
 Возвращает информацию о карте в поле считывателя. Подробнее...
 
void SetAutoScan (bool fEnable=true, bool fWait=true)
 Включает/выключает автоматическое сканирование карт. Подробнее...
 
CAsyncCommand Begin_SetAutoScan (bool fEnable=true)
 Запускает асинхронную команду вкл/выкл автоматического сканирования карт. Подробнее...
 
bool GetAutoScan () const
 Возвращает флаг автоматическое сканирование карт. Подробнее...
 
void ReadMfUltralight (size_t nPageIdx, uint32_t *pBuf, size_t nPageCount, size_t *pRead=nullptr)
 Читает данные карты Mifare Ultralight. Подробнее...
 
CAsyncCommand Begin_ReadMfUltralight (size_t nPageIdx, size_t nPageCount)
 Запускает асинхронную команду чтения данных из карты Mifare Ultralight. Подробнее...
 
void WriteMfUltralight (size_t nPageIdx, const uint32_t *pData, size_t nPageCount, size_t *pWritten=nullptr)
 Пишет данные карты Mifare Ultralight. Подробнее...
 
CAsyncCommand Begin_WriteMfUltralight (size_t nPageIdx, const uint32_t *pData, size_t nPageCount)
 Запускает асинхронную команду записи данных в карту Mifare Ultralight. Подробнее...
 
void LoadMfCKey (const ilr_mf_classic_key &nKey)
 Загружает ключ для авторизации сектора Mifare Classic / Plus SL1. Подробнее...
 
void LoadMfPKey (const ilr_mf_plus_key &rKey)
 Загружает ключ для авторизации сектора Mifare Plus SL3. Подробнее...
 
bool AuthMfCard (size_t nAddress, bool fKeyB)
 Авторизует сектор карты Mifare Classic/Plus. Подробнее...
 
CAsyncCommand Begin_AuthMfCard (size_t nAddress, bool fKeyB)
 Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus используя ключ, загруженный функцией LoadMfAuthKey / LoadMfPlusAuthKey. Подробнее...
 
int AuthMfCard2 (size_t nAddress, bool fKeyB, uint32_t nKeys=0xFFFF)
 Авторизует сектор карты Mifare Classic / Plus, используя ключи считывателя. Подробнее...
 
CAsyncCommand Begin_AuthMfCard2 (size_t nAddress, bool fKeyB, uint32_t nKeys=0xFFFF)
 Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus. используя ключи в памяти считывателя Подробнее...
 
void ReadMfClassic (size_t nBlockIdx, ilr_mf_block_data *pBuf, size_t nBlockCount, size_t *pRead=nullptr)
 Читает данные карты Mifare Classic или Mifare Plus SL1. Подробнее...
 
CAsyncCommand Begin_ReadMfClassic (size_t nBlockIdx, size_t nBlockCount)
 Запускает асинхронную команду чтения данных из карты Mifare Classic или Mifare Plus SL1. Подробнее...
 
void WriteMfClassic (size_t nBlockIdx, const ilr_mf_block_data *pData, size_t nBlockCount, size_t *pWritten=nullptr)
 Пишет данные карты Mifare Classic или Mifare Plus SL1. Подробнее...
 
CAsyncCommand Begin_WriteMfClassic (size_t nBlockIdx, const ilr_mf_block_data *pData, size_t nBlockCount)
 Запускает асинхронную команду записи данных в карту Mifare Classic или Mifare Plus SL1. Подробнее...
 
void ReadMfPlus (size_t nAddress, ilr_mf_block_data *pBuf, size_t nBlockCount, bool fOpenText=true, size_t *pRead=nullptr)
 Читает данные карты Mifare Plus SL3. Подробнее...
 
CAsyncCommand Begin_ReadMfPlus (size_t nAddress, size_t nBlockCount, bool fOpenText)
 Запускает асинхронную команду чтения данных из карты Mifare Plus SL3. Подробнее...
 
void WriteMfPlus (size_t nAddress, const ilr_mf_block_data *pData, size_t nBlockCount, bool fOpenText=true, size_t *pWritten=nullptr)
 Пишет данные карты Mifare Plus SL3. Подробнее...
 
CAsyncCommand Begin_WriteMfPlus (size_t nAddress, const ilr_mf_block_data *pData, size_t nBlockCount, bool fOpenText)
 Запускает асинхронную команду записи данных в карту Mifare Plus SL3. Подробнее...
 
void MfIncrement (size_t nBlockIdx, uint32_t nValue)
 Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных. Подробнее...
 
CAsyncCommand Begin_MfIncrement (size_t nBlockIdx, uint32_t nValue)
 Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных. Подробнее...
 
void MfDecrement (size_t nBlockIdx, uint32_t nValue)
 Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных. Подробнее...
 
CAsyncCommand Begin_MfDecrement (size_t nBlockIdx, uint32_t nValue)
 Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных. Подробнее...
 
void MfTransfer (size_t nBlockIdx)
 Записывает содержимое во временном регистре данных в блок-значение. Подробнее...
 
CAsyncCommand Begin_MfTransfer (size_t nBlockIdx)
 Записывает содержимое во временном регистре данных в блок-значение. Подробнее...
 
void MfRestore (size_t nBlockIdx)
 Перемещает содержимое блока в регистр данных Mifare. Подробнее...
 
CAsyncCommand Begin_MfRestore (size_t nBlockIdx)
 Перемещает содержимое блока в регистр данных Mifare. Подробнее...
 
void MfPowerOff ()
 Выключает RF поле считывателя (после выключения нужно подождать 10 мс). Подробнее...
 
bool MfRas (bool fWakeUp, uint8_t &nSAK, uint16_t &nATQ, ilr_card_uid &rUID)
 R+A+S(Request+Anticollision+Select) Подробнее...
 
bool MfRR (bool fWakeUp, const ilr_card_uid &rUID)
 R+R(Request+Reselect(по известному номеру)). Подробнее...
 
void MfHalt ()
 Halt. Подробнее...
 
void MfRats ()
 Переходит на ISO 14443-4. Подробнее...
 
void MfRats (std::vector< uint8_t > &oAts)
 Переходит на ISO 14443-4. Подробнее...
 
void MfWritePerso (uint32_t nAddress, const ilr_mf_plus_key &rKey)
 Записывает ключи AES и всех блоков. Подробнее...
 
void MfCommitPerso ()
 Переключает Mifare Plus в SL1 или SL3(если SL1 нет). Подробнее...
 
void WriteMfCKey (size_t nIdx, bool fKeyB, const ilr_mf_classic_key *pKeys, size_t nCount, size_t *pWritten=nullptr)
 Записывает ключи аутентификации Mifare Classic в память считывателя. Подробнее...
 
CAsyncCommand Begin_WriteMfCKey (size_t nIdx, bool fKeyB, const ilr_mf_classic_key *pKeys, size_t nCount)
 Запускает асинхронную команду записи ключей аутентификации Mifare Classic в память считывателя. Подробнее...
 
void WriteMfPKey (size_t nIdx, bool fKeyB, const ilr_mf_plus_key *pKeys, size_t nCount, size_t *pWritten=nullptr)
 Записывает ключи аутентификации Mifare Plus в память считывателя Подробнее...
 
CAsyncCommand Begin_WriteMfPKey (size_t nIdx, bool fKeyB, const ilr_mf_plus_key *pKeys, size_t nCount)
 Запускает асинхронную команду записи ключей аутентификации Mifare Plus в память считывателя. Подробнее...
 
void LoadTemicPassword (const int64_t nPassword)
 Загружает пароль Temic в память объекта считывателя. Подробнее...
 
void ScanTemic (int nScanParam=-1)
 Ищет карту Temic в поле считывателя. Подробнее...
 
CAsyncCommand Begin_ScanTemic (int nScanParam=-1)
 Запускает асинхронную команду поиска карты Temic в поле считывателя. Подробнее...
 
void SetScanTemic (bool fEnable=true)
 Вкл/выкл сканирование карт Temic (для Z-2 Rd-All и Z-2 EHR). Подробнее...
 
bool GetScanTemic () const
 Возвращает True если сканирование Temic включено. Подробнее...
 
void ReadTemic (size_t nBlockIdx, uint32_t *pBuf, size_t nBlockCount, int nScanParam=-1, size_t *pRead=nullptr)
 Читает данные карты Temic. Подробнее...
 
CAsyncCommand Begin_ReadTemic (size_t nBlockIdx, size_t nBlockCount, int nScanParam=-1)
 Запускает асинхронную команду чтения данных из карты Temic. Подробнее...
 
void WriteTemic (size_t nBlockIdx, const uint32_t *pData, size_t nBlockCount, bool fLock=false, int nScanParam=-1, size_t *pWritten=nullptr)
 Пишет данные карты Temic. Подробнее...
 
CAsyncCommand Begin_WriteTemic (size_t nBlockIdx, const uint32_t *pData, size_t nBlockCount, bool fLock=false, int nScanParam=-1)
 Запускает асинхронную команду записи данных в карту Temic. Подробнее...
 
void ResetTemic (bool fWait=true)
 Сброс TRES. Подробнее...
 
CAsyncCommand Begin_ResetTemic ()
 Запускает асинхронную команду сброса TRES. Подробнее...
 
CReader Clone () const
 Клонирует дескриптор считывателя. Подробнее...
 
- Открытые члены унаследованные от ilr::CILRHandle
 CILRHandle ()
 Конструктор по умолчанию.
 
 CILRHandle (ilr_handle h)
 Конструктор из дескриптора SDK. Подробнее...
 
 CILRHandle (const CILRHandle &)=delete
 Запрещаем копирование этого класса (т.к. он содержит указатель = дескриптор).
 
 CILRHandle (CILRHandle &&other)
 Конструктор перемещения. Подробнее...
 
virtual ~CILRHandle ()
 Деструктор
 
CILRHandleoperator= (const CILRHandle &)=delete
 Запрещаем копирование этого класса (т.к. он содержит указатель = дескриптор).
 
CILRHandleoperator= (CILRHandle &&other)
 Оператор перемещения. Подробнее...
 
 operator ilr_handle () const
 Оператор приведения типа к ilr_handle.
 
 operator bool () const
 Проверяет дескриптор на валидность.
 
void Swap (CILRHandle &other) noexcept
 Обменивается значением с другим дескриптором. Подробнее...
 
ilr_handle Get () const
 Возвращает дескриптор SDK.
 
void Close ()
 Закрывает дескриптор SDK. Подробнее...
 
void Attach (ilr_handle h)
 Присоединяет дескриптор к этому объекту. Подробнее...
 
ilr_handle Detach ()
 Отсоединяет дескриптор от этого объекту. Подробнее...
 

Открытые статические члены

static void End_ReadMfUltralight (ilr_handle hCommand, const uint32_t *&pList, size_t &nRead)
 Возвращает результат чтения данных из карты Mifare Ultralight. Подробнее...
 
static void End_WriteMfUltralight (ilr_handle hCommand, size_t &nWritten)
 Возвращает результат записи данных в карту Mifare Ultralight. Подробнее...
 
static void End_AuthMfCard (ilr_handle hCommand, bool &fAuthOk)
 Возвращает результат авторизации сектора карты. Подробнее...
 
static void End_AuthMfCard2 (ilr_handle hCommand, int &nFoundIdx)
 Возвращает результат авторизации сектора карты. Подробнее...
 
static void End_ReadMfClassic (ilr_handle hCommand, const ilr_mf_block_data *&pList, size_t &nRead)
 Возвращает результат чтения данных из карты Mifare Classic или Mifare Plus SL1. Подробнее...
 
static void End_WriteMfClassic (ilr_handle hCommand, size_t &nWritten)
 Возвращает результат записи данных в карту Mifare Classic или Mifare Plus SL1. Подробнее...
 
static void End_ReadMfPlus (ilr_handle hCommand, const ilr_mf_block_data *&pList, size_t &nRead)
 Возвращает результат чтения данных из карты Mifare Plus SL3. Подробнее...
 
static void End_WriteMfPlus (ilr_handle hCommand, size_t &nWritten)
 Возвращает результат записи данных в карту Mifare Plus SL3. Подробнее...
 
static void End_WriteMfCKey (ilr_handle hCommand, size_t &nWritten)
 Возвращает результат записи ключей аутентификации Mifare Classic в память считывателя. Подробнее...
 
static void End_WriteMfPKey (ilr_handle hCommand, size_t &nWritten)
 Возвращает результат записи ключей аутентификации Mifare Plus в память считывателя. Подробнее...
 
static void End_ReadTemic (ilr_handle hCommand, const uint *&pList, size_t &nRead)
 Возвращает результат чтения данных из карты Temic. Подробнее...
 
static void End_WriteTemic (ilr_handle hCommand, size_t &nWritten)
 Возвращает результат записи данных в карту Temic. Подробнее...
 
static void EncodeTemicEmMarine (const ilr_card_uid &rUID, uint32_t *pBuf3, size_t nBlockCount)
 Кодирует данные для эмуляции Em-Marine, для записи в блоки 0..2. Подробнее...
 
static void DecodeTemicEmMarine (const uint32_t *pData3, size_t nBlockCount, ilr_card_uid &rUID, bool *pConfigOk=nullptr)
 Декодирует номер Em-Marine из данных блоков 0..2 карты Temic. Подробнее...
 
static void EncodeTemicHid (const ilr_card_uid &rUID, uint32_t *pBuf4, size_t nBlockCount, int nWiegand)
 Кодирует данные для эмуляции HID, для записи в блоки 0..3. Подробнее...
 
static void DecodeTemicHid (const uint32_t *pData4, size_t nBlockCount, ilr_card_uid &rUID, int &nWiegand, bool *pConfigOk=nullptr)
 Декодирует номер HID из данных блоков 0..3 карты Temic. Подробнее...
 
static uint32_t GetSupportedCardTypes (ilr_reader_model nReaderModel)
 Возвращает биты типов карт, UID которых умеет читать считыватель. Подробнее...
 
static uint32_t GetSupportedRewrittenCardTypes (ilr_reader_model nReaderModel, uint32_t nFwVersion)
 Возвращает типы карт, данные которых умеет читать/писать считыватель Подробнее...
 

Дополнительные унаследованные члены

- Защищенные данные унаследованные от ilr::CILRHandle
ilr_handle m_h
 Дескриптор SDK.
 

Подробное описание

Класс считывателя.

Класс-обёртка для дескриптора считывателя.

Примеры
auto_read_card/main.cpp, card_detector/main.cpp, connect_to_reader/main.cpp, mf_classic/main.cpp, mf_plus/main.cpp, mf_ultralight/main.cpp и temic/main.cpp.

Конструктор(ы)

◆ CReader() [1/2]

ilr::CReader::CReader ( ilr_handle  h)

Конструктор класса из дескриптора считывателя.

Аргументы
[in]hЗначение дескриптора SDK.

◆ CReader() [2/2]

ilr::CReader::CReader ( CReader &&  other)

Конструктор перемещения.

Аргументы
[in,out]otherДругой считыватель.

Методы

◆ AuthMfCard()

bool ilr::CReader::AuthMfCard ( size_t  nAddress,
bool  fKeyB 
)
inline

Авторизует сектор карты Mifare Classic/Plus.

Авторизует сектор карты Mifare Classic/Plus, используя ключ, загруженный функцией LoadMfCKey / LoadMfPKey.

Аргументы
[in]nAddressНомер блока (0..255) или адрес Mifare Plus.
[in]fKeyB=true авторизовать по ключу Б, иначе - по ключу А.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Возвращает
true сектор успешно авторизован.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_MIFARE_ADDRESS, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_SCARD_ERROR, ILR_E_FAIL, ILR_E_ABORT.
Примеры
mf_classic/main.cpp и mf_plus/main.cpp.

◆ AuthMfCard2()

int ilr::CReader::AuthMfCard2 ( size_t  nAddress,
bool  fKeyB,
uint32_t  nKeys = 0xFFFF 
)
inline

Авторизует сектор карты Mifare Classic / Plus, используя ключи считывателя.

Аргументы
[in]nAddressНомер блока (0..255) или адрес Mifare Plus.
[in]fKeyB=true авторизовать по ключу Б, иначе - по ключу А.
[in]nKeysБиты (0..15) ключей в памяти считывателя.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Возвращает
Позиция найденного ключа в памяти считывателя, =-1 ключ не найден.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.
Примеры
mf_classic/main.cpp и mf_plus/main.cpp.

◆ Begin_AuthMfCard()

CAsyncCommand ilr::CReader::Begin_AuthMfCard ( size_t  nAddress,
bool  fKeyB 
)
inline

Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus используя ключ, загруженный функцией LoadMfAuthKey / LoadMfPlusAuthKey.

Аргументы
[in]nAddressНомер блока или адрес Mifare Plus.
[in]fKeyB=true авторизовать по ключу B, иначе A.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_AuthMfCard2()

CAsyncCommand ilr::CReader::Begin_AuthMfCard2 ( size_t  nAddress,
bool  fKeyB,
uint32_t  nKeys = 0xFFFF 
)
inline

Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus. используя ключи в памяти считывателя

Аргументы
[in]nAddressНомер блока или адрес Mifare Plus,
[in]fKeyB=true авторизовать по ключу B, иначе A.
[in]nKeysБиты номеров ключей в памяти считывателя.
Возвращает
Класс дескриптор команды ILR_E_INVALIDARG, ILR_E_HANDLE, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.
Исключения
CILRExceptionесли произошла ошибка.

◆ Begin_Connect()

CAsyncCommand ilr::CReader::Begin_Connect ( bool  fReconnect = false)
inline

Запускает асинхронную команду подключения к считывателю.

Аргументы
[in]fReconnect=true переподключиться.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, `ILR_E_OUTOFMEMORY`, ILR_E_OUT_OF_RESOURCES.

◆ Begin_Disconnect()

CAsyncCommand ilr::CReader::Begin_Disconnect ( )
inline

Запускает асинхронную команду отключения от считывателя.

Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, `ILR_E_OUTOFMEMORY`, ILR_E_OUT_OF_RESOURCES.

◆ Begin_MfDecrement()

CAsyncCommand ilr::CReader::Begin_MfDecrement ( size_t  nBlockIdx,
uint32_t  nValue 
)
inline

Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных.

Аргументы
[in]nBlockIdxНомер блока Mifare Classic/Plus.
[in]nValueВеличина инкремента.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_MfIncrement()

CAsyncCommand ilr::CReader::Begin_MfIncrement ( size_t  nBlockIdx,
uint32_t  nValue 
)
inline

Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных.

Аргументы
[in]nBlockIdxНомер блока Mifare Classic/Plus.
[in]nValueВеличина инкремента.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_MfRestore()

CAsyncCommand ilr::CReader::Begin_MfRestore ( size_t  nBlockIdx)
inline

Перемещает содержимое блока в регистр данных Mifare.

Аргументы
[in]nBlockIdxНомер блока Mifare Classic/Plus.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_MfTransfer()

CAsyncCommand ilr::CReader::Begin_MfTransfer ( size_t  nBlockIdx)
inline

Записывает содержимое во временном регистре данных в блок-значение.

Аргументы
[in]nBlockIdxНомер блока Mifare Classic/Plus.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_ReadMfClassic()

CAsyncCommand ilr::CReader::Begin_ReadMfClassic ( size_t  nBlockIdx,
size_t  nBlockCount 
)
inline

Запускает асинхронную команду чтения данных из карты Mifare Classic или Mifare Plus SL1.

Аргументы
[in]nBlockIdxНомер блока Mifare Classic.
[in]nBlockCountКоличество блоков.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_ReadMfPlus()

CAsyncCommand ilr::CReader::Begin_ReadMfPlus ( size_t  nAddress,
size_t  nBlockCount,
bool  fOpenText 
)
inline

Запускает асинхронную команду чтения данных из карты Mifare Plus SL3.

Аргументы
[in]nAddressНомер блока карты Mifare.
[in]nBlockCountКоличество блоков, которые нужно прочитать.
[in]fOpenText=true открытая передача, иначе зашифрованная.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_ReadMfUltralight()

CAsyncCommand ilr::CReader::Begin_ReadMfUltralight ( size_t  nPageIdx,
size_t  nPageCount 
)
inline

Запускает асинхронную команду чтения данных из карты Mifare Ultralight.

Аргументы
[in]nPageIdxНомер первой читаемой страницы (начиная от 0).
[in]nPageCountКоличество читаемых страниц.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, `ILR_E_INVALIDARG`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_ReadTemic()

CAsyncCommand ilr::CReader::Begin_ReadTemic ( size_t  nBlockIdx,
size_t  nBlockCount,
int  nScanParam = -1 
)
inline

Запускает асинхронную команду чтения данных из карты Temic.

Аргументы
[in]nBlockIdxНомер блока карты.
[in]nBlockCountКоличество блоков.
[in]nScanParamПараметр сканирования Temic. =-1 авто определение.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_ResetTemic()

CAsyncCommand ilr::CReader::Begin_ResetTemic ( )
inline

Запускает асинхронную команду сброса TRES.

Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ Begin_Scan()

CAsyncCommand ilr::CReader::Begin_Scan ( bool  fReset = false,
bool  fPowerOff = true 
)
inline

Запускает асинхронную команду поиска карты.

Аргументы
[in]fReset=true сбросить старые результаты поиска.
[in]fPowerOff=true выключает RF поле после сканирования.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, `ILR_E_OUTOFMEMORY`, ILR_E_OUT_OF_RESOURCES.

◆ Begin_ScanTemic()

CAsyncCommand ilr::CReader::Begin_ScanTemic ( int  nScanParam = -1)
inline

Запускает асинхронную команду поиска карты Temic в поле считывателя.

Аргументы
[in]nScanParamПараметры сканирования Temic. =-1 авто определение.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_SetAutoScan()

CAsyncCommand ilr::CReader::Begin_SetAutoScan ( bool  fEnable = true)
inline

Запускает асинхронную команду вкл/выкл автоматического сканирования карт.

Аргументы
[in]fEnable=true включает авто сканирование, иначе - выключает.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, `ILR_E_OUTOFMEMORY`, ILR_E_OUT_OF_RESOURCES.

◆ Begin_WriteMfCKey()

CAsyncCommand ilr::CReader::Begin_WriteMfCKey ( size_t  nIdx,
bool  fKeyB,
const ilr_mf_classic_key pKeys,
size_t  nCount 
)
inline

Запускает асинхронную команду записи ключей аутентификации Mifare Classic в память считывателя.

Аргументы
[in]nIdxПозиция первого ключа в памяти считывателя.
[in]fKeyB=true ключ B, иначе ключ A.
[in]pKeysСписок ключей аутентификации.
[in]nCountКоличество ключей аутентификации.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_WriteMfClassic()

CAsyncCommand ilr::CReader::Begin_WriteMfClassic ( size_t  nBlockIdx,
const ilr_mf_block_data pData,
size_t  nBlockCount 
)
inline

Запускает асинхронную команду записи данных в карту Mifare Classic или Mifare Plus SL1.

Аргументы
[in]nBlockIdxНомер блока Mifare Classic.
[in]pDataДанные блоков для записи.
[in]nBlockCountКоличество записываемых блоков.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_WriteMfPKey()

CAsyncCommand ilr::CReader::Begin_WriteMfPKey ( size_t  nIdx,
bool  fKeyB,
const ilr_mf_plus_key pKeys,
size_t  nCount 
)
inline

Запускает асинхронную команду записи ключей аутентификации Mifare Plus в память считывателя.

Аргументы
[in]nIdxПозиция первого ключа в памяти считывателя.
[in]fKeyB=true ключ B, иначе ключ A.
[in]pKeysСписок ключей аутентификации.
[in]nCountКоличество ключей аутентификации.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_WriteMfPlus()

CAsyncCommand ilr::CReader::Begin_WriteMfPlus ( size_t  nAddress,
const ilr_mf_block_data pData,
size_t  nBlockCount,
bool  fOpenText 
)
inline

Запускает асинхронную команду записи данных в карту Mifare Plus SL3.

Аргументы
[in]nAddressНомер блока или адрес Mifare Plus.
[in]pDataДанные блоков для записи.
[in]nBlockCountКоличество блоков.
[in]fOpenText=true открытая передача, иначе зашифрованная.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_WriteMfUltralight()

CAsyncCommand ilr::CReader::Begin_WriteMfUltralight ( size_t  nPageIdx,
const uint32_t *  pData,
size_t  nPageCount 
)
inline

Запускает асинхронную команду записи данных в карту Mifare Ultralight.

Аргументы
[in]nPageIdxНомер первой записываемой страницы (начиная от 0).
[in]pDataДанные страниц.
[in]nPageCountКоличество записываемых страниц.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Begin_WriteTemic()

CAsyncCommand ilr::CReader::Begin_WriteTemic ( size_t  nBlockIdx,
const uint32_t *  pData,
size_t  nBlockCount,
bool  fLock = false,
int  nScanParam = -1 
)
inline

Запускает асинхронную команду записи данных в карту Temic.

Аргументы
[in]nBlockIdxНомер блока карты.
[in]pDataДанные для записи.
[in]nBlockCountКоличество блоков.
[in]fLock=true блокировать от перезаписи.
[in]nScanParamПараметр сканирования Temic. =-1 авто определение.
Возвращает
Класс команды.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Clone()

CReader ilr::CReader::Clone ( ) const
inline

Клонирует дескриптор считывателя.

Возвращает
Дескриптор считывателя.

◆ Connect()

void ilr::CReader::Connect ( bool  fReconnect = false)
inline

Подключается к считывателю.

Аргументы
[in]fReconnect=true Отключается перед подключением.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_PORT_ACCESS_DENIED, ILR_E_PORT_NOT_EXIST, ILR_E_PORT_OPEN_FAILED, ILR_E_CONNECTION_ERROR.
Примеры
auto_read_card/main.cpp, card_detector/main.cpp, connect_to_reader/main.cpp, mf_classic/main.cpp, mf_plus/main.cpp, mf_ultralight/main.cpp и temic/main.cpp.

◆ DecodeTemicEmMarine()

void ilr::CReader::DecodeTemicEmMarine ( const uint32_t *  pData3,
size_t  nBlockCount,
ilr_card_uid &  rUID,
bool *  pConfigOk = nullptr 
)
inlinestatic

Декодирует номер Em-Marine из данных блоков 0..2 карты Temic.

Аргументы
[in]pData3Данные блоков 0..2.
[in]nBlockCountКоличество блоков. Должно быть не меньше 3.
[out]rUIDНомер Em-Marine. Если Em-Marine не обнаружен, то пустой номер.
[out]pConfigOk=true конфигурация Temic для эмуляции Em-Marine правильная. Может быть равно nullptr.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`.
Примеры
temic/main.cpp.

◆ DecodeTemicHid()

void ilr::CReader::DecodeTemicHid ( const uint32_t *  pData4,
size_t  nBlockCount,
ilr_card_uid &  rUID,
int &  nWiegand,
bool *  pConfigOk = nullptr 
)
inlinestatic

Декодирует номер HID из данных блоков 0..3 карты Temic.

Аргументы
[in]pData4Данные блоков 0..3.
[in]nBlockCountКоличество блоков. Должно быть не меньше 4.
[out]rUIDНомер HID. Если HID не обнаружен, то пустой номер.
[out]nWiegandНомер кодировки Wiegand.
[out]pConfigOk=true конфигурация Temic правильная. Может быть равно nullptr.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`.
Примеры
temic/main.cpp.

◆ Disconnect()

void ilr::CReader::Disconnect ( )
inline

Отключается от считывателя.

Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.
Примеры
connect_to_reader/main.cpp.

◆ EnableMessageQueue()

void ilr::CReader::EnableMessageQueue ( bool  fEnable = true)
inline

Включает/выключает очередь сообщений.

Эта функция устанавливает/снимает флаг в дескрипторе считывателя. Очередь сообщений предназначена для синхронизации обработки сообщений.

Прим.
Алгоритм синхронизации: при возникновении события в очередь добавляется сообщение и вызывается функция обратного вызова, установленная функцией SetMessageCallback, из которой посылается сигнал потоку, обрабатывающему сообщения, этот поток при получении сигнала циклично вызывает GetMessage, чтобы получить и обработать все сообщения.
Аргументы
[in]fEnable=true, включает очередь, иначе - выключает.
Предупреждения
Если не извлекать сообщения из очереди функцией GetMessage, то она будет расти пока не закончится память.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ EncodeTemicEmMarine()

void ilr::CReader::EncodeTemicEmMarine ( const ilr_card_uid &  rUID,
uint32_t *  pBuf3,
size_t  nBlockCount 
)
inlinestatic

Кодирует данные для эмуляции Em-Marine, для записи в блоки 0..2.

Аргументы
[in]rUIDНомер Em-Marine, который нужно эмулировать.
[out]pBuf3Буфер для данных 3-х блоков.
[in]nBlockCountРазмер буфера в блоках.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_POINTER`, ILR_E_BUFFER_TOO_SMALL.
Примеры
temic/main.cpp.

◆ EncodeTemicHid()

void ilr::CReader::EncodeTemicHid ( const ilr_card_uid &  rUID,
uint32_t *  pBuf4,
size_t  nBlockCount,
int  nWiegand 
)
inlinestatic

Кодирует данные для эмуляции HID, для записи в блоки 0..3.

Аргументы
[in]rUIDНомер HID, который нужно эмулировать.
[out]pBuf4Буфер для данных 4-х блоков.
[in]nBlockCountРазмер буфера в блоках.
[in]nWiegandНомер кодировки Wiegand 18..37.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_POINTER`, ILR_E_BUFFER_TOO_SMALL.
Примеры
temic/main.cpp.

◆ End_AuthMfCard()

void ilr::CReader::End_AuthMfCard ( ilr_handle  hCommand,
bool &  fAuthOk 
)
inlinestatic

Возвращает результат авторизации сектора карты.

Аргументы
[in]hCommandДескриптор команды.
[out]fAuthOk=true авторизация прошла успешно.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ End_AuthMfCard2()

void ilr::CReader::End_AuthMfCard2 ( ilr_handle  hCommand,
int &  nFoundIdx 
)
inlinestatic

Возвращает результат авторизации сектора карты.

Аргументы
[in]hCommandДескриптор команды.
[out]nFoundIdxПозиция найденного ключа в памяти считывателя, =-1 ключ не найден.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ End_ReadMfClassic()

void ilr::CReader::End_ReadMfClassic ( ilr_handle  hCommand,
const ilr_mf_block_data *&  pList,
size_t &  nRead 
)
inlinestatic

Возвращает результат чтения данных из карты Mifare Classic или Mifare Plus SL1.

Аргументы
[in]hCommandДескриптор команды.
[out]pListСсылка на список прочитанных блоков. Ссылка действительна до закрытия дескриптора команды hCommand.
[out]nReadКоличество прочитанных блоков.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_POINTER`, ILR_E_HANDLE.

◆ End_ReadMfPlus()

void ilr::CReader::End_ReadMfPlus ( ilr_handle  hCommand,
const ilr_mf_block_data *&  pList,
size_t &  nRead 
)
inlinestatic

Возвращает результат чтения данных из карты Mifare Plus SL3.

Аргументы
[in]hCommandДескриптор команды.
[out]pListСсылка на список прочитанных блоков. Ссылка действительна до закрытия дескриптора команды hCommand.
[out]nReadКоличество прочитанных блоков. Может быть равно nullptr.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_POINTER`, ILR_E_HANDLE.

◆ End_ReadMfUltralight()

void ilr::CReader::End_ReadMfUltralight ( ilr_handle  hCommand,
const uint32_t *&  pList,
size_t &  nRead 
)
inlinestatic

Возвращает результат чтения данных из карты Mifare Ultralight.

Аргументы
[in]hCommandДескриптор команды.
[out]pListСсылка на список прочитанных страниц. Ссылка действительна до закрытия дескриптора команды hCommand.
[out]nReadКоличество прочитанных страниц.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_POINTER`, ILR_E_HANDLE.

◆ End_ReadTemic()

void ilr::CReader::End_ReadTemic ( ilr_handle  hCommand,
const uint *&  pList,
size_t &  nRead 
)
inlinestatic

Возвращает результат чтения данных из карты Temic.

Аргументы
[in]hCommandДескриптор команды.
[out]pListСсылка на список прочитанных блоков. Ссылка действительна до закрытия дескриптора команды hCommand.
[out]nReadКоличество прочитанных блоков. Может быть равно nullptr.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_POINTER`, ILR_E_HANDLE.

◆ End_WriteMfCKey()

void ilr::CReader::End_WriteMfCKey ( ilr_handle  hCommand,
size_t &  nWritten 
)
inlinestatic

Возвращает результат записи ключей аутентификации Mifare Classic в память считывателя.

Аргументы
[in]hCommandДескриптор команды.
[out]nWrittenКоличество записанных ключей.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ End_WriteMfClassic()

void ilr::CReader::End_WriteMfClassic ( ilr_handle  hCommand,
size_t &  nWritten 
)
inlinestatic

Возвращает результат записи данных в карту Mifare Classic или Mifare Plus SL1.

Аргументы
[in]hCommandДескриптор команды.
[out]nWrittenКоличество записанных блоков.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ End_WriteMfPKey()

void ilr::CReader::End_WriteMfPKey ( ilr_handle  hCommand,
size_t &  nWritten 
)
inlinestatic

Возвращает результат записи ключей аутентификации Mifare Plus в память считывателя.

Аргументы
[in]hCommandДескриптор команды.
[out]nWrittenКоличество записанных ключей.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ End_WriteMfPlus()

void ilr::CReader::End_WriteMfPlus ( ilr_handle  hCommand,
size_t &  nWritten 
)
inlinestatic

Возвращает результат записи данных в карту Mifare Plus SL3.

Аргументы
[in]hCommandДескриптор команды.
[out]nWrittenКоличество записанных блоков.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ End_WriteMfUltralight()

void ilr::CReader::End_WriteMfUltralight ( ilr_handle  hCommand,
size_t &  nWritten 
)
inlinestatic

Возвращает результат записи данных в карту Mifare Ultralight.

Аргументы
[in]hCommandДескриптор команды.
[out]nWrittenКоличество прочитанных страниц
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ End_WriteTemic()

void ilr::CReader::End_WriteTemic ( ilr_handle  hCommand,
size_t &  nWritten 
)
inlinestatic

Возвращает результат записи данных в карту Temic.

Аргументы
[in]hCommandДескриптор команды.
[out]nWrittenКоличество записанных блоков.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ GetAutoScan()

bool ilr::CReader::GetAutoScan ( ) const
inline

Возвращает флаг автоматическое сканирование карт.

Возвращает
true если авто сканирование включено.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ GetCardInfo()

bool ilr::CReader::GetCardInfo ( ilr_card_info rInfo) const
inline

Возвращает информацию о карте в поле считывателя.

Аргументы
[out]rInfoИнформация о карте.
Возвращает
True, то карта найдена, иначе - нет карты.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
mf_classic/main.cpp, mf_plus/main.cpp, mf_ultralight/main.cpp и temic/main.cpp.

◆ GetConnectionStatus()

ilr_connection_status ilr::CReader::GetConnectionStatus ( ) const
inline

Возвращает состояние подключения к считывателю

Возвращает
Состояние подключения к считывателю.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
auto_read_card/main.cpp и connect_to_reader/main.cpp.

◆ GetMessage()

bool ilr::CReader::GetMessage ( ilr_reader_msg nMsg,
const void *&  pMsgData 
) const
inline

Извлекает следующее сообщение из очереди.

Аргументы
[out]nMsgТип сообщения.
[out]pMsgDataУказатель на данные пользователя, которые были установлены функцией SetMessageCallback.
Возвращает
true если сообщение успешно извлечено, иначе - очередь пуста.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ GetOptions()

void ilr::CReader::GetOptions ( ilr_reader_options rOptions) const
inline

Возвращает параметры считывателя.

Аргументы
[out]rOptionsПараметры считывателя.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
auto_read_card/main.cpp, connect_to_reader/main.cpp, mf_classic/main.cpp, mf_plus/main.cpp, mf_ultralight/main.cpp и temic/main.cpp.

◆ GetReaderInfo()

void ilr::CReader::GetReaderInfo ( ilr_reader_info rInfo) const
inline

Возвращает информацию о считывателе.

Аргументы
[out]rInfoИнформация о считывателе.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
auto_read_card/main.cpp, card_detector/main.cpp, connect_to_reader/main.cpp, mf_classic/main.cpp, mf_plus/main.cpp, mf_ultralight/main.cpp и temic/main.cpp.

◆ GetScanTemic()

bool ilr::CReader::GetScanTemic ( ) const
inline

Возвращает True если сканирование Temic включено.

Возвращает
True если сканирование Temic включено.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.

◆ GetSupportedCardTypes()

uint32_t ilr::CReader::GetSupportedCardTypes ( ilr_reader_model  nReaderModel)
static

Возвращает биты типов карт, UID которых умеет читать считыватель.

Аргументы
[in]nReaderModelМодель считывателя.

◆ GetSupportedRewrittenCardTypes()

uint32_t ilr::CReader::GetSupportedRewrittenCardTypes ( ilr_reader_model  nReaderModel,
uint32_t  nFwVersion 
)
static

Возвращает типы карт, данные которых умеет читать/писать считыватель

Аргументы
[in]nReaderModelМодель считывателя.
[in]nFwVersionВерсия прошивки считывателя.

◆ LoadMfCKey()

void ilr::CReader::LoadMfCKey ( const ilr_mf_classic_key nKey)
inline

Загружает ключ для авторизации сектора Mifare Classic / Plus SL1.

Аргументы
[in]nKeyКлюч аутентификации Mifare Classic.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, `ILR_E_INVALIDARG`.
Примеры
auto_read_card/main.cpp, mf_classic/main.cpp и mf_plus/main.cpp.

◆ LoadMfPKey()

void ilr::CReader::LoadMfPKey ( const ilr_mf_plus_key rKey)
inline

Загружает ключ для авторизации сектора Mifare Plus SL3.

Аргументы
[in]rKeyКлюч аутентификации Mifare Plus.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
auto_read_card/main.cpp и mf_plus/main.cpp.

◆ LoadTemicPassword()

void ilr::CReader::LoadTemicPassword ( const int64_t  nPassword)
inline

Загружает пароль Temic в память объекта считывателя.

Аргументы
[in]nPasswordПароль Temic. Если =-1, то нет пароля.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
auto_read_card/main.cpp и temic/main.cpp.

◆ MfCommitPerso()

void ilr::CReader::MfCommitPerso ( )
inline

Переключает Mifare Plus в SL1 или SL3(если SL1 нет).

Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfDecrement()

void ilr::CReader::MfDecrement ( size_t  nBlockIdx,
uint32_t  nValue 
)
inline

Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных.

Аргументы
[in]nBlockIdxНомер блока (0..255)
[in]nValueВеличина декремента.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_AUTH, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfHalt()

void ilr::CReader::MfHalt ( )
inline

Halt.

Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_CARD_NACK, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfIncrement()

void ilr::CReader::MfIncrement ( size_t  nBlockIdx,
uint32_t  nValue 
)
inline

Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных.

Аргументы
[in]nBlockIdxНомер блока (0..255)
[in]nValueВеличина инкремента.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_AUTH, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfPowerOff()

void ilr::CReader::MfPowerOff ( )
inline

Выключает RF поле считывателя (после выключения нужно подождать 10 мс).

Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfRas()

bool ilr::CReader::MfRas ( bool  fWakeUp,
uint8_t &  nSAK,
uint16_t &  nATQ,
ilr_card_uid &  rUID 
)
inline

R+A+S(Request+Anticollision+Select)

Аргументы
[in]fWakeUp=true разбудить карту.
[out]nSAKКод SAK карты.
[out]nATQКод ATQ карты.
[out]rUIDНомер карты.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Возвращает
true карта найдена, иначе нет карты.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfRats() [1/2]

void ilr::CReader::MfRats ( )
inline

Переходит на ISO 14443-4.

Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfRats() [2/2]

void ilr::CReader::MfRats ( std::vector< uint8_t > &  oAts)

Переходит на ISO 14443-4.

Аргументы
[in,out]oAtsДанные ATS.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfRestore()

void ilr::CReader::MfRestore ( size_t  nBlockIdx)
inline

Перемещает содержимое блока в регистр данных Mifare.

Аргументы
[in]nBlockIdxНомер блока (0..255)
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_AUTH, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfRR()

bool ilr::CReader::MfRR ( bool  fWakeUp,
const ilr_card_uid &  rUID 
)
inline

R+R(Request+Reselect(по известному номеру)).

Аргументы
[in]fWakeUp=true разбудить карту.
[in]rUIDНомер карты.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Возвращает
true карта найдена, иначе нет карты.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfTransfer()

void ilr::CReader::MfTransfer ( size_t  nBlockIdx)
inline

Записывает содержимое во временном регистре данных в блок-значение.

Аргументы
[in]nBlockIdxНомер блока (0..255)
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_AUTH, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ MfWritePerso()

void ilr::CReader::MfWritePerso ( uint32_t  nAddress,
const ilr_mf_plus_key rKey 
)
inline

Записывает ключи AES и всех блоков.

Аргументы
[in]nAddressАдрес ключа.
[in]rKeyЗначение ключа.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ ReadMfClassic()

void ilr::CReader::ReadMfClassic ( size_t  nBlockIdx,
ilr_mf_block_data pBuf,
size_t  nBlockCount,
size_t *  pRead = nullptr 
)
inline

Читает данные карты Mifare Classic или Mifare Plus SL1.

Аргументы
[in]nBlockIdxНомер первого читаемого блока (0..255).
[out]pBufБуфер для прочитанных блоков.
[in]nBlockCountКоличество блоков, которые нужно прочитать.
[out]pReadКоличество прочитанных блоков. Может быть =nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_POINTER`, `ILR_E_INVALIDARG`, ILR_E_HANDLE, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_AUTH, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_SCARD_ERROR, ILE_E_ABORT.
Примеры
mf_classic/main.cpp.

◆ ReadMfPlus()

void ilr::CReader::ReadMfPlus ( size_t  nAddress,
ilr_mf_block_data pBuf,
size_t  nBlockCount,
bool  fOpenText = true,
size_t *  pRead = nullptr 
)
inline

Читает данные карты Mifare Plus SL3.

Аргументы
[in]nAddressНомер первого читаемого блока (0..255).
[out]pBufБуфер для прочитанных блоков
[in]nBlockCountКоличество блоков, которые нужно прочитать.
[in]fOpenText=true открытая передача, иначе - зашифрованная
[out]pReadКоличество прочитанных блоков. Может быть = nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_POINTER`, ILR_E_HANDLE, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_AUTH, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.
Примеры
mf_plus/main.cpp.

◆ ReadMfUltralight()

void ilr::CReader::ReadMfUltralight ( size_t  nPageIdx,
uint32_t *  pBuf,
size_t  nPageCount,
size_t *  pRead = nullptr 
)
inline

Читает данные карты Mifare Ultralight.

Аргументы
[in]nPageIdxНомер первой читаемой страницы (0..15).
[out]pBufБуфер для прочитанных страниц.
[in]nPageCountКоличество страниц, которые нужно прочитать.
[out]pReadКоличество прочитанных страниц. Может быть = nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_SCARD_ERROR, ILR_E_FAIL, ILR_E_ABORT.
Примеры
mf_ultralight/main.cpp.

◆ ReadTemic()

void ilr::CReader::ReadTemic ( size_t  nBlockIdx,
uint32_t *  pBuf,
size_t  nBlockCount,
int  nScanParam = -1,
size_t *  pRead = nullptr 
)
inline

Читает данные карты Temic.

Аргументы
[in]nBlockIdxНомер первого блока, который нужно причитать (0..9).
[out]pBufБуфер для прочитанных данных.
[in]nBlockCountКоличество блоков, которые нужно прочитать.
[in]nScanParamПараметры сканирования Temic. =-1 авто определение.
[out]pReadКоличество прочитанных блоков. Может быть равно nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_POINTER`, `ILR_E_INVALIDARG`, ILR_E_HANDLE, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.
Примеры
temic/main.cpp.

◆ ResetTemic()

void ilr::CReader::ResetTemic ( bool  fWait = true)
inline

Сброс TRES.

Аргументы
[in]fWait=true ждать завершения команды.
Прим.
Если fWait = true, то функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.

◆ Scan()

void ilr::CReader::Scan ( bool  fReset = false,
bool  fPowerOff = true 
)
inline

Ищет карты.

Аргументы
[in]fReset=true сбросить старые результаты поиска
[in]fPowerOff=true выключает RF поле после сканирования
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES и другие.
Примеры
mf_classic/main.cpp, mf_plus/main.cpp, mf_ultralight/main.cpp и temic/main.cpp.

◆ ScanTemic()

void ilr::CReader::ScanTemic ( int  nScanParam = -1)
inline

Ищет карту Temic в поле считывателя.

Аргументы
[in]nScanParamПараметры сканирования Temic. =-1 авто определение.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.

◆ SetAutoScan()

void ilr::CReader::SetAutoScan ( bool  fEnable = true,
bool  fWait = true 
)
inline

Включает/выключает автоматическое сканирование карт.

Аргументы
[in]fEnable=true включить авто сканирование, иначе - выключить.
[in]fWait=true ждать полного завершения команды, иначе только установить флаг.
Прим.
Если fWait = true, то функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES.
Примеры
card_detector/main.cpp, mf_classic/main.cpp, mf_plus/main.cpp, mf_ultralight/main.cpp и temic/main.cpp.

◆ SetMessageCallback()

void ilr::CReader::SetMessageCallback ( ilr_reader_message_callback  pCallback,
void *  pUserData = nullptr 
)
inline

Устанавливает функцию обратного вызова для уведомлений считывателя.

Устанавливает функцию для получения сообщений от дескриптора считывателя.

Аргументы
[in]pCallbackУказатель на функцию, которую библиотека будет вызывать при возникновении события считывателя.
[in]pUserDataУказатель на данные пользователя, который будет передаваться в функцию.
Предупреждения
Не позволяйте исключениям выйти из callback-функции, оберните код в try catch. Нельзя из callback-функции вызывать функции, которые ждут выполнение команды в потоке, из которого вызвана эта callback-функция, иначе вернёт ошибку ILR_E_BLOCKING_CALL_NOT_ALLOWED.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
auto_read_card/main.cpp, card_detector/main.cpp и connect_to_reader/main.cpp.

◆ SetOptions()

void ilr::CReader::SetOptions ( const ilr_reader_options rOptions)
inline

Устанавливает параметры считывателя.

Аргументы
[in]rOptionsПараметры считывателя.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
auto_read_card/main.cpp, connect_to_reader/main.cpp, mf_classic/main.cpp, mf_plus/main.cpp, mf_ultralight/main.cpp и temic/main.cpp.

◆ SetScanTemic()

void ilr::CReader::SetScanTemic ( bool  fEnable = true)
inline

Вкл/выкл сканирование карт Temic (для Z-2 Rd-All и Z-2 EHR).

Если включено, то ищет карту Temic при ручном или автоматическом поиске карт ( ilr_reader_scan, ilr_reader_set_auto_scan).

Аргументы
[in]fEnable=true включает сканирование Temic.
Исключения
CILRException(ILR_E_HANDLE)если дескриптор неправильный.
Примеры
auto_read_card/main.cpp и temic/main.cpp.

◆ WriteMfCKey()

void ilr::CReader::WriteMfCKey ( size_t  nIdx,
bool  fKeyB,
const ilr_mf_classic_key pKeys,
size_t  nCount,
size_t *  pWritten = nullptr 
)
inline

Записывает ключи аутентификации Mifare Classic в память считывателя.

Аргументы
[in]nIdxНомер ячейки в памяти считывателя, в которую записывается первый ключ.
[in]fKeyB=true ключ Б, иначе - ключ А.
[in]pKeysСписок записываемых ключей.
[in]nCountКоличество ключей, которые нужно записать.
[out]pWrittenКоличество записанных ключей. Может быть равно nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.
Примеры
mf_classic/main.cpp.

◆ WriteMfClassic()

void ilr::CReader::WriteMfClassic ( size_t  nBlockIdx,
const ilr_mf_block_data pData,
size_t  nBlockCount,
size_t *  pWritten = nullptr 
)
inline

Пишет данные карты Mifare Classic или Mifare Plus SL1.

Аргументы
[in]nBlockIdxНомер первого записываемого блока (0..255).
[in]pDataДанные записываемых блоков.
[in]nBlockCountКоличество блоков, которые нужно записать.
[out]pWrittenКоличество записанных блоков. Может быть = nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_AUTH, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_SCARD_ERROR, ILR_E_ABORT.
Примеры
mf_classic/main.cpp.

◆ WriteMfPKey()

void ilr::CReader::WriteMfPKey ( size_t  nIdx,
bool  fKeyB,
const ilr_mf_plus_key pKeys,
size_t  nCount,
size_t *  pWritten = nullptr 
)
inline

Записывает ключи аутентификации Mifare Plus в память считывателя

Аргументы
[in]nIdxНомер ячейки в памяти считывателя, в которую записывается первый ключ.
[in]fKeyB=true ключ Б, иначе - ключ А.
[in]pKeysСписок записываемых ключей.
[in]nCountКоличество ключей, которые нужно записать.
[out]pWrittenКоличество записанных ключей. Может быть равно nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.
Примеры
mf_plus/main.cpp.

◆ WriteMfPlus()

void ilr::CReader::WriteMfPlus ( size_t  nAddress,
const ilr_mf_block_data pData,
size_t  nBlockCount,
bool  fOpenText = true,
size_t *  pWritten = nullptr 
)
inline

Пишет данные карты Mifare Plus SL3.

Аргументы
[in]nAddressНомер первого записываемого блока (0..255) или адрес Mifare Plus.
[in]pDataДанные записываемых блоков.
[in]nBlockCountКоличество блоков, которые нужно записать.
[in]fOpenText=true открытая передача, иначе - зашифрованная.
[out]pWrittenКоличество записанных блоков. Может быть = nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_AUTH, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.
Примеры
mf_plus/main.cpp.

◆ WriteMfUltralight()

void ilr::CReader::WriteMfUltralight ( size_t  nPageIdx,
const uint32_t *  pData,
size_t  nPageCount,
size_t *  pWritten = nullptr 
)
inline

Пишет данные карты Mifare Ultralight.

Аргументы
[in]nPageIdxНомер первой записываемой страницы (0..15).
[in]pDataДанные страниц.
[in]nPageCountКоличество страниц, которые нужно записать.
[out]pWrittenКоличество записанных страниц. Может быть = nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_CARD_PAGE_LOCK, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_SCARD_ERROR, ILR_E_FAIL, ILR_E_ABORT.
Примеры
mf_ultralight/main.cpp.

◆ WriteTemic()

void ilr::CReader::WriteTemic ( size_t  nBlockIdx,
const uint32_t *  pData,
size_t  nBlockCount,
bool  fLock = false,
int  nScanParam = -1,
size_t *  pWritten = nullptr 
)
inline

Пишет данные карты Temic.

Аргументы
[in]nBlockIdxНомер первого блока, в который нужно записать (0..7).
[in]pDataДанные блоков для записи.
[in]nBlockCountКоличество блоков, которые нужно записать.
[in]fLock=true заблокировать блоки от перезаписи.
[in]nScanParamПараметры сканирования Temic. =-1 авто определение.
[out]pWrittenКоличество записанных блоков. Может быть равно nullptr.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке считывателя.
Исключения
CILRExceptionесли произошла ошибка `ILR_E_INVALIDARG`, `ILR_E_HANDLE`, ILR_E_BLOCKING_CALL_NOT_ALLOWED, ILR_E_OUTOFMEMORY, ILR_E_OUT_OF_RESOURCES, ILR_E_NOTIMPL, ILR_E_NO_CARD, ILR_E_WRITE_T57, ILR_E_READER_ERROR, ILR_E_BAD_RESPONSE, ILR_E_REQUEST_TIMEOUT, ILR_E_ABORT.
Примеры
temic/main.cpp.

Объявления и описания членов классов находятся в файлах: