Функции для работы с блоками данных
BlockRead, BlockRead_AKM1, BlockRead_AKM2, BlockRead_PK
Эта функциональная группа используется для чтения содержимого блока. Всегда считывает весь блок (16 байт блока). Функции используют так называемую адресацию блока (первый блок имеет адрес 0; первый сектор прицепа имеет адрес 3, следующий 7 и т. Д. До последнего блока MIFARE® 1K, который также является прицепом последнего сектора, имеет адрес 63). Эти функции также позволяют считывать содержимое секторных прицепов (его доступная часть для чтения, в зависимости от установленных прав доступа).

- aucData — Указатель на количество байтов, в которых будут храниться прочитанные данные. Перед вызовом функции должно быть выделено не менее 16 байт.
- ucBlockAddress — адрес блока ucAuthMode. Этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
- ucSectorTrailersByte9 — значение битов доступа, определяющее права доступа для всех трейлеров секторов. Он может иметь значения от 0 до 7
- aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.
Эти функции работают так же, как и групповые функции BlockRead, и предназначены для чтения блочного контента. Разница лишь в том, что используется секторальная адресация. Это включает в себя отдельную отправку адресов секторов и адресов блоков в секторе. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15. Весь блок (16-байтовый блок) всегда считывается.
Эти функции позволяют считывать содержимое прицепов сектора (его доступная часть для чтения, в зависимости от установленных прав доступа).
- aucData — Указатель на массив байтов, в котором будут храниться считываемые данные. Перед вызовом функции должно быть выделено не менее 16 байт
- ucSectorAddress — Адрес сектора
- ucBlockInSectorAddress — Блокировка адреса в секторе
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности с ключом A или ключом B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
- aucProvidedKey — Указатель на массив с шестым байтом, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на этот используемый метод.
BlockWrite, BlockWrite_AKM1, BlockWrite_AKM2, BlockWrite_PK
Эти функции используются для ввода данных (16 байт за раз) в блоки. Функции используют так называемую адресацию блока (первый блок имеет адрес 0; первый сектор прицепа имеет адрес 3, следующий 7 и т. Д. До последнего блока MIFARE® 1K, который также является прицепом последнего сектора, имеет адрес 63). Эта группа функций не позволяет напрямую вводить данные в сектор прицепов. Для этого воспользуйтесь специальными функциями SectorTrailerWrite и SectorTrailerWriteUnsafe.

- aucData — Указатель на количество байтов, в которых будут храниться прочитанные данные. Перед вызовом функции должно быть выделено не менее 16 байт
- ucBlockAddress — Адрес блокировки карты
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности с ключом A или ключом B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем считываемым секторам.
- aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.
FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER.
BlockInSectorWrite, BlockInSectorWrite_AKM1, BlockInSectorWrite_AKM2, BlockInSectorWrite_PK
Эти функции работают так же, как и групповые функции BlockWrite; они используются для ввода данных (16 байт за раз) в блоки. Единственным отличием является использование секторальной адресации. Секторальная адресация означает отдельный посылающий сектор и блочные адреса внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15. Эта группа функций не позволяет напрямую вводить данные в сектор прицепов. Для этого воспользуйтесь специальными функциями SectorTrailerWrite и SectorTrailerWriteUnsafe
- aucData — Указатель на количество байтов, в которых будут храниться прочитанные данные. Перед вызовом функции должно быть выделено не менее 16 байт
- ucSectorAddress — Адрес сектора
- ucBlockInSectorAddress — этот параметр определяет, следует ли выполнять проверку подлинности с ключом A или ключом B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61)
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
- aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.
FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER.
СекторТрейлерРайт, SectorTrailerWrite_AKM1, SectorTrailerWrite_AKM2, SectorTrailerWrite_PK
Эти функции используются для записи данных в секторе трейлеров. Функции также могут использоваться для адресации блоков прицепов секторов, а также для адресации сектора, который определяется параметром ucAddressingMode.
В случае адресации блока первый блок имеет адрес 0; прицеп имеет адрес первого сектора 3 и следующий 7 и т.д. до последнего блока MIFARE® 1k, который также является прицепом последнего сектора и имеет адрес 63. Эта группа функций упрощает настройку битов для установки прав доступа к блокам (битов доступа) и минимизирует возможность постоянной блокировки всего сектора из-за неправильного форматирования этих битов. Форматирование битов доступа производится RFID-считывателем перед записью. Пользователи API могут выбрать соответствующие блоки прав доступа, которые представлены значениями от 0 до 7 и передать их этим функциям.
Для секторных прицепов действительны следующие права доступа:
- Биты доступа C1 C2 C3
- Доступ к значениям (отправляется в функцию)
- Права доступа
- Байты ключа A, содержащие биты доступа и девятибайтовый ключ B
- Чтение и письмо
Для секторных прицепов действительны следующие права доступа:
* Если права доступа для секторного трейлера соответствующего сектора настроены таким образом, чтобы можно было прочитать ключ B, он не может быть использован для аутентификации ни в одном из случаев. Эти функции также устанавливают новые ключи секторов, если разрешены права доступа.
- Биты доступа C1 C2 C3

- Доступ к значениям (отправляется в функцию)
- Права доступа
- Чтение, запись, приращение, уменьшение
- ucAddressingMode — задает режим адреса. Возможные значения этого параметра: BLOCK_ADDRESS_MODE (0x00) или SECTOR_ADDRESS_MODE (0x01). При отправке любого другого значения функция возвращает код ошибки WRONG_ADDRESS_MODE
- ucAddress — Секторы или секторы прицепов блоки адрес, в зависимости от ucAddressingMode. При использовании секторно-адресного режима, то, например, MIFARE Classic® 1K, диапазон может быть от 0 до 15 (имеет 16 секторов). Этот же тип в режиме адресации блоков может использовать значения от 0 до 63 при условии, что ошибка возникает, если адресный блок не является также сектором прицепа.
- aucNewKeyA — Указатель на 6-байтовый массив, представляющий новый ключ A для указанного сектора, который будет задан, если это ранее разрешено с правами доступа
- aucNewKeyB — Указатель на шестибайтовый массив, представляющий новый ключ B для указанного сектора, который будет задан, если это ранее разрешено с правами доступа
- ucBlock0AccessBits — значение доступа для блока 0 сектора.
MIFARE® 4k имеет другую организацию для последних 8 секторов, второй половины адресного пространства. Поэтому в этих секторах права доступа устанавливаются следующим образом:
- права доступа к первым 5 блокам — ucBlock1AccessBits Блок значений доступа для первого сектора
- права доступа ко вторым 5 блокам — ucBlock2AccessBits Блок значений доступа для первого сектора
- права доступа к последним 5 блокам:
- ucSectorTrailerAccessBits — Значение доступа для секторного трейлера
- ucSectorTrailerByte9 — Байт девятого сектора прицепов — это байт общего назначения, где может быть введено любое однобайтовое значение
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности с ключом A или ключом B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61)
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
- aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.
СекторТрайлерНаписатьНебезопасно, SectorTrailerWriteUnsafe_AKM1, SectorTrailerWriteUnsafe_AKM2, SectorTrailerWriteUnsafe_PK
Эти функции имеют то же назначение, что и функция группы SectorTrailerWrite с разницей в отправке содержимого «сырых» секторных трейлеров и возможны ошибки при форматировании значений битов доступа для ввода. Эти функции предназначены для разработчиков с опытом работы с MIFARE®. Все правила, упомянутые для групповых функций SectorTrailerWrite, применяются к этим функциям, за исключением опции «необработанных» данных для ввода секторного трейлера.
- ucAddressingMode — задает режим адреса. Возможные значения этого параметра: BLOCK_ADDRESS_MODE (0x00) или SECTOR_ADDRESS_MODE (0x01). Если отправлено какое-либо другое значение, функция возвращает код ошибки WRONG_ADDRESS_MODE.
- ucAddress — Секторы или секторные прицепы блокируют адрес, в зависимости от ucAddressingMode.
При использовании режима адресации сектора, то, в случае MIFARE® 1K, диапазон может быть от 0 до 15 (имеет 16 секторов) и тот же тип в режиме адресации блоков может использовать значения от 0 до 63 с возможной ошибкой, если адресный блок не является также секторным прицепом.
- aucSectorTrailer — указатель на 6-байтовый массив, содержащий «необработанные» данные для записи трейлера сектора адресов
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61)
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
- aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.
Функции для работы с блоками значений
Блоки значений представляют собой необязательную функциональность MIFARE®. На самом деле это режим, в котором весь блок данных (16 байт) представляет одно четырехбайтовое значение. В этом режиме можно добавить любой блок данных (кроме, конечно, блока 0, нулевого сектора и секторного прицепа). Значения в блоках значений отформатированы особым образом и в дополнение к записям значений содержат однобайтовое значение адреса, что дает пользователям дополнительную возможность реализовать систему резервного копирования.
RFID-считыватели D-Logic заботятся о правильном форматировании блоков значений, поэтому пользователям доступен набор функций, которые обрабатывают только четыре байтовых значения. Следует отметить, что использование значений блоков имеет смысл, если права доступа к нужному блоку установлены на значениях 1, 6 или 0 (по умолчанию в новой карте), что позволяет увеличивать и уменьшать их значения. Прежде всего, блоки значений должны быть инициированы, значение и связанный с ним адрес должны соответствовать соответствующему формату шестнадцатибайтовых записей. Лучший и самый простой способ инициализации блоков значений — это набор функций Windows API IS21 ValueBlockWrite или ValueBlockInSectorWrite.
ValueBlockЧитать, ValueBlockRead_AKM1, ValueBlockRead_AKM2 ValueBlockRead_PK
Эти функции выполняют то же самое, что и функции группы ValueBlockRead, и подходят для чтения 4-байтовых значений блоков значений. Кроме того, они возвращают связанный адрес, хранящийся в блоке значений. Единственным отличием является использование так называемой секторальной адресации. Секторальная адресация означает раздельную отправку секторных и блочных адресов внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15.

- lValue — указатель на переменную длинного типа, для которой возвращает блок значений
- ucValueAddr — Байт девятого сектора прицепов — это байт общего назначения, где может быть введено любое однобайтовое значение
- ucSectorAddress — Адрес сектора
- ucBlockInSectorAddress — Блокировка адреса в секторе
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61)
- ucReaderKeyIndex — e метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа от RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
- aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
ValueBlockInSectorЧитать, ValueBlockInSectorRead_AKM1, ValueBlockInSectorRead_AKM2, ValueBlockInSectorRead_PK
Эти функции выполняют то же самое, что и функции группы ValueBlockRead, и подходят для чтения 4-байтовых значений блоков значений. Кроме того, они возвращают связанный адрес, хранящийся в блоке значений. Единственным отличием является использование так называемой секторальной адресации. Секторальная адресация означает раздельную отправку секторных и блочных адресов внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15.

- lValue — указатель на переменную длинного типа, для которой возвращает блок значений
- ucValueAddr — Указатель на переменную беззнакового типа char возвращается через однобайтовый адрес, что дает дополнительную возможность для реализации системы резервного копирования
- ucSectorAddress — Адрес сектора
- ucBlockInSectorAddress — Блокировка адреса в секторе
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61)
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
- aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
ValueBlockWrite, ValueBlockWrite_AKM1, ValueBlockWrite_AKM2, ValueBlockWrite_PK
Эти функции используются для инициализации и записи значений блоков четвертого байта и хранения связанного адреса в блоке значений. Функции, использующие так называемую адресацию блока (первый блок имеет адрес 0; трейлер имеет адрес первого сектора 3, а следующий 7 и т. Д. До последнего блока MIFARE® 1k, который также является прицепом последнего сектора и имеет адрес 63).
- lValue — значение для записи блока значений
- ucValueAddr — адрес, связанный с блоком значений
- ucBlockAddress — Заблокировать адрес
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности с ключом A или ключом B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса это относится ко всем записываемым секторам.
- aucProvidedKey — указатель на шестой массив байтов, содержащий ключ для подтверждения подлинности в методе "Предоставленный ключ". _PK суффикс в имени функции указывает на использование этого метода.
ValueBlockInSectorНаписать, ValueBlockInSectorWrite_AKM1, ValueBlockInSectorWrite_AKM2, ValueBlockInSectorWrite_PK
Эти функции аналогичны групповым функциям ValueBlockWrite. Они используют для ввода, значения блоков 4 байта значений инициализации. Кроме того, соответствующий адрес сохраняется в значении блока. Единственным отличием является использование секторальной адресации. Секторальная адресация означает раздельную отправку секторных и блочных адресов внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15.
- lValue — значение для записи блока значений
- ucValueAddr — адрес, связанный с блоком значений
- ucSectorAddress — Адрес сектора
- ucBlockInSectorAddress — Адрес блока сектора
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
- aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
ValueBlockIncrement, ValueBlockIncrement_AKM1, ValueBlockIncrement_AKM2, ValueBlockIncrement_PK
Этот набор функций используется для увеличения значений блоков значения 4 байта. Значение приращения блока значений отправляется в качестве параметра этих функций. Функции используют адресацию блоков (первый блок имеет адрес 0; первый сектор прицепа имеет адрес 3, следующий 7 и т. Д. До последнего блока MIFARE® 1K, который также является прицепом последнего сектора, имеет адрес 63).
- lIncrementValue — значение приращения блока значений
- ucBlockAddress — Блокировка адреса в секторе
- ucSectorAddress — Адрес сектора
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
- aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
ValueBlockInSectorДобавление, ValueBlockInSectorIncrement_AKM1, ValueBlockInSectorIncrement_AKM2, ValueBlockInSectorIncrement_PK
Эти функции имеют то же назначение, что и функции группы ValueBlockIncrement, и используются для чтения 4-байтовых значений блоков значений. Значение приращения блока значений отправляется в качестве параметра этих функций. Единственным отличием является использование секторальной адресации. Секторальная адресация означает раздельную отправку секторных и блочных адресов внутри сектора. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине организации адресного пространства отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15.
- lIncrementValue — значение приращения блока значений
- ucSectorAddress — Адрес сектора
- ucBlockInSectorAddress — Блокировка адреса в секторе
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
- aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
ValueBlockДекремент, ValueBlockDecrement_AKM1, ValueBlockDecrement_AKM2, ValueBlockDecrement_PK
Этот набор функций используется для уменьшения 4-байтового значения блоков значений. Значение декремента блока значений отправляется в качестве параметра этих функций. Функции используют адресацию блоков (первый блок имеет адрес 0; первый сектор прицепа имеет адрес 3, следующий 7 и т. Д. До последнего блока MIFARE® 1K, который также является прицепом последнего сектора, имеет адрес 63).
- lDecrementValue — значение декремента блока значений
- ucBlockAddress — Блокировка адреса в секторе
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет проверку подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
- aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.
ValueBlockInSectorДекремент, ValueBlockInSectorDecrement_AKM1, ValueBlockInSectorDecrement_AKM2, ValueBlockInSectorDecrement_PK
Эти функции работают так же, как и функции группы ValueBlockDecrement и создаются для блоков значений 4 байта декремента. Значение декремента блока значений отправляется в качестве параметра этим функциям. Единственным отличием является использование секторальной адресации. Это включает в себя отдельную отправку адресов секторов и адресов блоков в секторе. Для MIFARE® адрес сектора 1K может находиться в диапазоне от 0 до 15, а адрес блока в пределах сектора находится в диапазоне от 0 до 3. Для MIFARE® адрес сектора 4k может находиться в диапазоне от 0 до 39, а поскольку во второй половине адресного пространства организация отличается (выше 2 МБ), адреса блоков в последних 8 секторах (секторы от 32 до 39) могут находиться в диапазоне от 0 до 15
- lDecrementValue — значение декремента блока значений
- ucSectorAddress — Адрес сектора
- ucBlockInSectorAddress — Блокировка адреса в секторе
- ucAuthMode — этот параметр определяет, следует ли выполнять проверку подлинности ключа A или ключа B. Он может иметь два значения, а именно: AUTHENT1A (0x60) или AUTHENT1B (0x61).
- ucReaderKeyIndex — Метод аутентификации по умолчанию (когда используются функции без суффикса) выполняет подтверждение подлинности с помощью выбранного индекса ключа из RFID-считывателя. В режиме линейного адреса он применяется ко всем секторам для записи
- aucProvidedKey — указатель на шестибайтовый массив, содержащий ключ для проверки подлинности метода "Предоставленный ключ". _PK суффикс имени функции указывает на использование этого метода.