ГОСТ Р ИСО/МЭК 19784-2-2010
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Автоматическая идентификация
ИДЕНТИФИКАЦИЯ БИОМЕТРИЧЕСКАЯ
Биометрический программный интерфейс
Часть 2
Интерфейс поставщика биометрической функции архива
Automatic identification. Biometric identification. Biometric application programming interface. Part 2. Biometric archive function provider interface
ОКС 35.040
Дата введения 2011-07-01
Предисловие
Предисловие
1 ПОДГОТОВЛЕН Научно-исследовательским и испытательным центром биометрической техники Московского государственного технического университета имени Н.Э.Баумана (НИИЦ БТ МГТУ им.Н.Э.Баумана) на основе собственного перевода англоязычной версии стандарта, указанного в пункте 4, при консультационной поддержке ассоциации автоматической идентификации "ЮНИСКАН ГС1 РУС"
2 ВНЕСЕН Управлением технического регулирования и стандартизации Федерального агентства по техническому регулированию и метрологии
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 28 сентября 2010 г. N 269-ст
4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 19784-2:2007* "Информационные технологии. Биометрический программный интерфейс. Часть 2. Интерфейс поставщика биометрической функции архива" (ISO/IEC 19784-2: 2007 "Information technology - Biometric application programming interface - Part 2: Biometric archive function provider interface", IDT).
________________
* Доступ к международным и зарубежным документам, упомянутым здесь и далее по тексту, можно получить, перейдя по ссылке. - .
Наименование настоящего стандарта изменено относительно наименования указанного международного стандарта для приведения в соответствие с ГОСТ Р 1.5-2012 (пункт 3.5) .
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в приложении ДА
5 ВВЕДЕН ВПЕРВЫЕ
6 ПЕРЕИЗДАНИЕ. Ноябрь 2018 г.
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
Введение
Настоящий стандарт ГОСТ Р ИСО/МЭК 19784-2 определяет интерфейс поставщика биометрической функции архива. Поставщик биометрической функции архива используется для хранения записей биометрической информации и управления ими. Интерфейс поставщика биометрической функции архива включает в свой состав функции для присоединения, отсоединения связанных функциональных модулей БиоАПИ и управления ими со стороны поставщика биометрической услуги, а также функции для хранения записей биометрической информации, получения информации о хранящихся записях биометрической информации и извлечения ранее добавленных записей биометрической информации для их дальнейшей обработки поставщиком биометрической услуги.
Стандарт ИСО/МЭК 19784-1 определяет высокоуровневую общую модель биометрического распознавания. Настоящий стандарт определяет интерфейс поставщика биометрической функции архива. Модуль архива БиоАПИ управляет хранением биометрических данных. Биометрические приложения требуют хранения биометрических данных, поэтому интерфейс модуля архива должен быть стандартизован.
Модуль архива БиоАПИ, в котором хранятся записи биометрической информации, полностью контролируется поставщиком биометрической функции архива. В соответствии с общей моделью записи биометрической информации обрабатываются как записи в базе данных.
1 Область применения
Настоящий стандарт определяет интерфейс поставщика биометрической функции архива.
Примечание - Наличие интерфейса предполагает, что архив будет управляться как база данных, вне зависимости от его физической реализации (смарт-карты, персональные жетоны аутентификации, карты памяти, файлы на жестких дисках и любой другой вид памяти могут обрабатываться с помощью уровня абстракции, обеспечивающего интерфейс базы данных).
Настоящий стандарт позволяет сторонним производителям создавать поставщики биометрической функции архива, которые могут использоваться любым поставщиком биометрической услуги, поддерживающим интерфейс поставщика биометрической функции архива.
Настоящий стандарт не устанавливает требования по обеспечению безопасности и конфиденциальности при хранении записей биометрической информации и управлении ими.
2 Соответствие
Для обеспечения соответствия настоящему стандарту поставщик биометрической функции архива должен поддерживать все функции и параметры, определенные в настоящем стандарте.
Настоящий стандарт не определяет подмножества функций и параметров, необходимых для обеспечения соответствия.
Примечание - Поставщику биометрической услуги может потребоваться любая из описанных ниже функций или любой параметр.
3 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями.
Примечание - Названия функций и элементов данных не включены в данный раздел. Их определения приведены в тексте настоящего стандарта.
3.1 поставщик биометрической функции архива; ПБФА (biometric archive function provider; BAFP): Компонент БиоАПИ, связанный с поставщиком биометрической услуги с помощью интерфейса поставщика функции БиоАПИ и предназначенный для хранения записей биометрической информации и обмена ими.
3.2 интерфейс поставщика биометрической функции архива; ИПБФА (biometric archive function provider interface; BAFPI): Интерфейс взаимодействия поставщика биометрической функции и поставщика биометрической услуги, который поддерживает функции управления собственно поставщиком биометрической функции архива, его базами данных и записями биометрической информации.
4 Архитектура интерфейса
ИСО/МЭК 19784-1-2006 определяет интерфейс инфраструктуры БиоАПИ, который используется биометрическим приложением для взаимодействия с поставщиком биометрической услуги (ПБУ). ПБУ обеспечивает взаимодействие биометрического приложения с биометрическим модулем непосредственно (прямое управление модулем БиоАПИ) или с помощью поставщика функции БиоАПИ (ПБФ) (непрямое управление модулем БиоАПИ, см. рисунки 1 и 2 ИСО/МЭК 19784-1-2006).
ИПБФА содержит следующие типы функций:
a) общие функции управления ПБФ, которые вызываются ПБУ для управления ПБФ и связанными с ним модулями БиоАПИ. Общие функции не имеют непосредственной связи с функциями интерфейса поставщика услуги:
1) BioAFPI_BAFPLoad;
2) BioAFPI_BAFPUnload;
3) BioAFPI_UnitAttach;
4) BioAFPI_UnitDetach;
5) BioAFPI_QueryUnits;
6) BioAFPI_Free [взаимосвязь данной функции с вызовом соответствующего интерфейса поставщика услуги (ИПУ) зависит от режима работы ПБУ - если ПБУ копирует данные, для которых ПБФ выделил память, то ИПУ может немедленно вызвать функцию BioAFPI_Free для ПБФ, в противном случае ПБФ вызовет функцию BioAFPI_Free, когда им будет получен запрос на очистку памяти, выделенной для этих данных];
b) функции управления модулем БиоАПИ:
1) BioAFPI_ControlUnit (данная функция непосредственно связана с функцией ИПУ);
2) BioAFPI_Cancel (данная функция может быть вызвана в связи с соответствующими вызовами ИПУ или приложения, но может быть вызвана ПБУ и по другим причинам, в том числе и при отсутствии соответствующих запросов от инфраструктуры БиоАПИ или приложения);
3) BioAFPI_SetPowerMode (данная функция непосредственно связана с функцией ИПУ);
c) функции управления базами данных. Функции непосредственно связаны с соответствующими функциями ИПУ:
1) BioAFPI_DbOpen;
2) BioAFPI_DbClose;
3) BioAFPI_DbCreate;
4) BioAFPI_DbDelete;
d) функции управления записями. Функции непосредственно связаны с соответствующими функциями ИПУ:
1) BioAFPI_DbSetMarker;
2) BioAFPI_DbFreeMarker;
e) функции управления данными. Функции непосредственно связаны с соответствующими функциями ИПУ:
1) BioAFPI_DbStoreBIR;
2) BioAFPI_DbGetBIR;
3) BioAFPI_DbGetNextBIR;
4) BioAFPI_DbQueryBIR;
5) BioAFPI_DbDeleteBIR.
5 Определение интерфейса поставщика биометрической функции архива
5.1 Структуры данных интерфейса поставщика биометрической функции архива
5.1.1 BioAFPI_EventHandler
Данная структура данных определяет интерфейс обработчика событий для получения асинхронного уведомления о событиях типа BioAPI_EVENT от модуля БиоАПИ. Примерами событий могут быть подключение или отключение модуля БиоАПИ (например, вставка или извлечение смарт-карты, содержащей биометрические шаблоны для сопоставления на карте или вне карты).
Данный обработчик событий передается поставщику биометрической функции архива во время выполнения функции BioAFPI_BFPLoad. Он является единственным обработчиком событий, который должны использовать все модули БиоАПИ, управляемые данным ПБФА, для уведомления ПБУ о типе событий, произошедших в загруженном ПБФА.
typedef BioAPI_RETURN (BioAPI *BioAFPI_EventHandler) | |
(const BioAPI_UUID *BAFPUuid, | |
BioAPI_UNIT_ID UnitID, | |
BioAPI_UNIT_SCHEMA *UnitSchema, | |
BioAPI_EVENT EventType), |
где BAFPUuid (входной параметр) - универсальный уникальный идентификатор (УУИД) ПБФА, вызывающего событие;
UnitID (входной параметр) - идентификатор модуля БиоАПИ (модуля архива), связанного с событием;
UnitSchema (входной параметр) - схема модуля БиоАПИ, вызывающего событие;
EventType (входной параметр) - произошедшее событие BioAPI_EVENT.
5.1.2 BioAFPI_BAFPPropertylD
Определяет УУИД формата BioAFPI_BAFPPropertySchema. Для соответствия настоящему стандарту ПБФА должен использовать PropertySchema в соответствии со следующим форматом:
#define (BioAFPI_BAFPPropertylD, 0x561403e5, 0x7d2d, 0x489a, | |
0x89, 0x41, 0хе7, 0ха9, 0x35, 0x99, 0xcf, 0x9c). |
5.1.3 BioAFPI_BAFPPropertySchema
BioAFPI_BAFPPropertySchema содержит информацию о свойствах ПБФ, которые приводятся в реестре компонента и реализуются при вызове соответствующих функций. Свойства ПБФ могут отличаться от свойств модуля архива. Свойства, используемые приложением БиоАПИ или ПБУ, представляют собой конъюнкцию свойств ПБФ и модуля архива.
typedef struct _bioafpi_bafp_property_schema { | ||
uint32_t | MaxRecordLength; | |
uint32_t | MaxRecordNumber; | |
uint32_t | MaxDatabases; | |
uint32_t | MaxResponseTime; | |
BioAPI_POWER_MODE | SupportedPowerModes; | |
} BioAFPI_BAFP_PROPERTY_SCHEMA, | ||
*BioAFPI_BAFP_PROPERTY_SCHEMA_PTR, |
где MaxRecordLength - | значение, определяющее максимальную длину записи в байтах. Запись представляет собой запись биометрической информации (ЗБИ). В UnitSchema модуля БиоАПИ должно использоваться значение, не превышающее указанное. Значение "0" соответствует отсутствию данных о максимально допустимой длине записи; |
MaxRecordNumber - | значение, определяющее максимальное количество записей. В UnitSchema модуля BioAPI должно использоваться значение, не превышающее указанное. Значение "0" соответствует отсутствию данных о максимально допустимом количестве записей; |
MaxDatabases - | значение, определяющее максимальное количество баз данных, которыми может одновременно управлять ПБФА. Значение "0" соответствует отсутствию данных о максимально допустимом количестве баз данных; |
MaxResponseTime - | значение, определяющее максимальное время ожидания возврата из вызванной функции ПБФА. В UnitSchema модуля БиоАПИ должно использоваться значение, не превышающее указанное. Значение "0" соответствует отсутствию данных о максимально допустимом времени ожидания; |
SupportedPowerModes - | битовая маска, определяющая режимы энергопотребления, которые могут поддерживаться ПБФ. Поддержка режима энергопотребления означает возможность отправки вызова функции в модуль БиоАПИ, поддерживающий данный режим, и возможность возвращения кода ошибки, связанного с результатом реакции модуля БиоАПИ на отправленный вызов. |
5.1.4 BioAFPI_UnitPropertylD
Определяет УУИД формата BioAFPI_BAFPPropertySchema. Для соответствия настоящему стандарту ПБФА должен использовать PropertySchema в соответствии со следующим форматом:
#define (BioAFPI_UnitPropertylD, 0x94cae58f, 0x6b26, 0x41fc, | |
0x9d, 0xdb, 0xd9, 0x8e, 0x9a, 0xd5, 0x6f, 0xa0). |
5.1.5 BioAFPI_UnitPropertySchema
BioAFPI_UnitPropertySchema содержит данные, которые должны присутствовать в связанных вызовах функции. Представляя конкретный модуль архива, данная схема содержит информацию, необходимую для идентификации модуля (DbUuid и DbName), а также данные о свойствах.
typedef struct_bioafpi_unit_property_schema { | ||
BioAPI_UUID | DbUuid; | |
BioAPI_STRING | DbName; | |
uint32_t | MaxRecordLength; | |
uint32_t | MaxRecordNumber; | |
uint32_t | MaxDatabases; | |
uint32_t | MaxResponseTime; | |
BioAPI_POWER_MODE | SupportedPowerModes; | |
}BioAFPI_UNIT_PROPERTY_SCHEMA, | ||
*BioAFPI_UNIT_PROPERTY_SCHEMA_PTR, |
где DbUuid - | УУИД базы данных, связанной с модулем архива; |
DbName - | имя базы данных; |
MaxRecordLength - | значение, определяющее максимальную длину записи в байтах. Запись представляет собой ЗБИ. Значение "0" соответствует отсутствию данных о максимально допустимой длине записи; |
MaxRecordNumber - | значение, определяющее максимальное количество записей. Значение "0" соответствует отсутствию данных о максимально допустимом количестве записей; |
MaxDatabases - | значение, определяющее максимальное количество баз данных, которыми может одновременно управлять ПБФА. Значение "0" соответствует отсутствию данных о максимально допустимом количестве баз данных; |
MaxResponseTime - | значение, определяющее максимальное время в миллисекундах, которое процесс, обращающийся к модулю БиоАПИ с помощью функции, должен ожидать возврата из вызываемой функции. Значение "0" соответствует отсутствию данных о максимально допустимом времени ожидания возврата функции из модуля БиоАПИ; |
SupportedPowerModes - | битовая маска, определяющая режимы энергопотребления, которые могут поддерживаться ПБФ. Поддержка режима энергопотребления означает возможность отправки вызова функции в модуль БиоАПИ, поддерживающий данный режим, и возможность возвращения кода ошибки, связанного с результатом реакции модуля БиоАПИ на отправленный вызов. |
5.2 Функции поставщика биометрической функции архива
5.2.1 BioAFPI_BAFPLoad
BioAPI_RETURN BioAPI BioAFPI_BAFPLoad | |
(const BioAPI_UUID *BAFPUuid, | |
BioAFPI_EventHandler BioAFPINotifyCallback). |
Описание
Данная функция загружает ПБФА.
BAFPUuid является идентификатором вызванного ПБФА.
BioAFPINotifyCallback определяет обратный вызов, использующийся для уведомления ПБУ о событиях с типом BioAPI_EVENT. ПБФА должен сохранить данную информацию для дальнейшего использования.
Параметры
BAFPUuid (входной параметр) - УУИД вызываемого ПБФА. Используется для обнаружения входа в каталог компонента.
BioAFPINotifyCallback (входной параметр) - указатель функции для обработчика события, который управляет событиями с типом BioAPI_EVENT.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_MODULE_LOAD_FAIL
BioAPIERR_INVALID_UUID
5.2.2 BioAFPI_BAFPUnload
BioAPI_RETURN BioAPI BioAFPI_BAFPUnload | |
(const BioAPI_UUID *BAFPUuid, | |
BioAFPI_EventHandler BioAFPINotifyCallback). |
Описание
Данная функция блокирует события и отменяет регистрацию функции уведомления о событиях ПБУ. ПБФА должен выполнить операции по очистке, отменяя инициализацию, выполненную функцией BioAFPI_BAFPLoad.
Параметры
BAFPUuid (входной параметр) - УУИД вызванного ПБФА.
BioAFPINotifyCallback (входной параметр) - указатель функции для обработчика события, который управляет событиями с типом BioAPI_EVENT.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UUID
5.2.3 BioAFPI_UnitAttach
BioAPI_RETURN BioAPI BioAFPI_UnitAttach | |
(BioAPI_UNIT_ID UnitID). |
Описание
Данная функция создает сеанс соединения.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitID (входной параметр) - значение идентификатора модуля БиоАПИ, определенное в результате предварительного вызова функции BioAFPI_QueryUnits. Значение идентификатора UnitID было внесено в поле Unitld каждого элемента BioAPI_UNIT_SCHEMA_ARRAY ПБФА.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_UNIT_IN_USE
5.2.4 BioAFPI_UnitDetach
BioAPI_RETURN BioAPI BioAFPI_UnitDetach | |
(BioAPI_UNIT_ID UnitID). |
Описание
Данная функция завершает сеанс соединения.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitID (входной параметр) - значение идентификатора модуля БиоАПИ, определенное в результате предварительного вызова функции BioAFPI_QueryUnits. Значение идентификатора UnitID было внесено в поле Unitld каждого элемента BioAPI_UNIT_SCHEMA_ARRAY ПБФА.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
5.2.5 BioAFPI_QueryUnits
BioAPI_RETURN BioAPI BioAFPI_QueryUnits | |
(const BioAPI_UUID *BafpUuid, | |
BioAPI_UNIT_SCHEMA **UnitSchemaArray, | |
uint32_t *NumberOfElements). |
Описание
Данная функция возвращает массив схем модулей БиоАПИ (см. подраздел 7.55 ИСО/МЭК 19784-1-2006), управляемых данным ПБФА и находящихся в настоящий момент в подключенном состоянии.
Примечание - Когда ПБУ вызывает функцию ПБФ BioAFPI_QueryUnits, ПБФ выделяет память для данных, которые должны быть возвращены ПБУ. В некоторых архитектурах реализации ПБУ передает инфраструктуре БиоАПИ данные и адреса в том виде, в котором они были возвращены ПБФ, поскольку инфраструктура БиоАПИ интерпретирует эти адреса так же, как их интерпретирует ПБФ, и поэтому может получить доступ к данным, которые размещены по этим адресам. В других архитектурах реализации ПБУ необходимо переместить все данные, возвращенные ПБФ, во вновь выделенные блоки памяти, к которым имеет доступ инфраструктура БиоАПИ, и вызвать функцию BioAFPI_Free после копирования каждого блока памяти, но до возврата из вызова функции BioSPI_QueryUnits. В первом случае, когда инфраструктура БиоАПИ вызывает функцию BioSPI_Free, ПБУ осуществляет соответствующий вызов функции BioAFPI_Free. Во втором случае вызов функции BioSPI_Free будет осуществляться непосредственно ПБУ. Тем не менее подобные различия в поведении ПБУ не отражаются в инфраструктуре БиоАПИ.
Блок памяти, содержащий массив, должен быть освобожден ПБУ посредством вызова функции BioAFPI_Free, если он больше не используется ПБУ. Блок памяти, на который указывают элементы UnitProperty в пределах каждого элемента массива, также должен быть освобожден приложением посредством вызова функции BioAFPI_Free, если он больше не используется ПБУ.
Данная функция может быть вызвана только после вызова функции BioAFPI_Load для определенного ПБУ и не может быть вызвана после вызова функции BioAFPI_Unload для данного ПБУ.
Значение идентификатора модуля, возвращаемое данной функцией для данного модуля БиоАПИ, может не совпадать со значением идентификатора модуля, возвращаемым ПБУ инфраструктуре БиоАПИ. ПБУ может преобразовать любое значение идентификатора модуля (полученное от ПБФ) в другое значение идентификатора модуля перед передачей его инфраструктуре БиоАПИ. Данное преобразование может выполняться во избежание существования повторяющихся идентификаторов модулей в пределах ПБУ, что может иметь место в случае использования ПБУ двух или более ПБФ одной и той же категории или в случае одновременного использования ПБУ ПБФА и непосредственного управления модулями архива.
Параметры
BafpUuid (входной параметр) - уникальный идентификатор ПБФА, для которого должны быть возвращены данные.
UnitSchemaArray (выходной параметр) - указатель на адрес массива элементов типа BioAPI_UNIT_SCHEMA (размещенного ПБУ, см. также примечание к описанию данной функции), содержащего информацию о схеме модуля БиоАПИ.
NumberOfElements (выходной параметр) - указатель на количество элементов массива, которые управляются данным ПБФА и в настоящий момент находятся в подключенном состоянии.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UUID | |
BioAPIERR_MEMORY_ERROR |
5.2.6 BioAFPI_Free
BioAPI_RETURN BioAPI BioAFPI_Free | |
(void *Ptr). |
Описание
Данная функция очищает область памяти, на которую указывает параметр Ptr. Если Ptr имеет NULL-значение, никакие действия не выполняются. Если Pfr не соответствует указателю, ранее возвращенному одной из функций BioAFPI, или область памяти ранее уже была очищена с помощью вызова функции BioAFPI_Free, последствия вызова данной функции не определены.
Параметры
Ptr (входной параметр) - указатель на очищаемую область памяти.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
5.2.7 BioAFPI_ControlUnit
BioAPI_RETURN BioAPI BioAFPI_ControlUnit | ||
(BioAPI_UNIT_ID UnitID, | ||
uint32_t ControlCode, | ||
const BioAPI_DATA*lnputData, | ||
BioAPI_DATA *OutputData). |
Описание
Данная функция отправляет управляющие данные модулю БиоАПИ и получает от модуля БиоАПИ данные о состоянии или функционировании. Содержание элемента ControlCode, а также отправляемые данные (входной параметр для функции BioAFPI_ControlUnit) и получаемые данные (выходной параметр для функции BioAFPI_ControlUnit) будут подробно рассмотрены в спецификации интерфейса, связанного с данным модулем БиоАПИ.
Данная функция выделяет область памяти, достаточную для размещения выходных данных, которые должны быть возвращены приложению, заполняет выделенную область данными и записывает в поля Length и Data структуры OutputData размер и адрес области памяти.
Область памяти, возвращенная в результате вызова одной из функций ИПБФА, будет освобождена приложением с помощью вызова функции BioAFPI_Free.
Данная функция является открытым каналом к модулю БиоАПИ и может быть использована для любых целей, которые не могут быть достигнуты стандартизированными функциями (например, ведение архива, восстановление индекса и прочее).
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitID (входной параметр) - значение идентификатора модуля БиоАПИ, определенное в результате предварительного вызова функции BioAFPI.
ControlCode (входной параметр) - код вызываемой функции в модуле БиоАПИ.
InputData (входной параметр) - адрес и длина буфера, содержащего данные, которые необходимо отправить модулю БиоАПИ в соответствии со значением параметра ControlCode.
OutputData (выходной параметр) - указатель на структуру BioAPI_DATA. После выполнения функции данный параметр должен содержать адрес и длину буфера, содержащего данные, полученные от модуля БиоАПИ после вызова функции, определенной с помощью ControlCode. Если функция не выделила область памяти, то указателю должно быть присвоено NULL-значение, а длине буфера данных - значение, равное нулю.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_MEMORY_ERROR | |
BioAPIERR_INVALID_POINTER | |
BioAPIERR_FUNCTION_FAILED |
5.2.8 BioAFPI_Cancel
BioAPI_RETURN BioAPI BioAFPI_Cancel | |
(BioAPI_UNIT_ID UnitID). |
Описание
Данная функция отменяет заблокированное в данный момент обращение к модулю БиоАПИ. Возврат из данной функции не должен осуществляться до тех пор, пока заблокированный вызов (обращение) не будет отменен.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitID (входной параметр) - идентификатор модуля БиоАПИ, в котором должен быть отменен заблокированный вызов.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
5.2.9 BioAFPI_SetPowerMode
BioAPI_RETURN BioAPI BioAFPI_SetPowerMode | ||
(BioAPI_UNIT_ID Unitld, | ||
BioAPI_POWER_MODE PowerMode). |
Описание
Данная функция переводит подключенный модуль БиоАПИ в требуемый режим энергопотребления в том случае, если модуль БиоАПИ поддерживает этот режим.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. пункт 5.2.5).
Параметры
Unitld (входной параметр) - идентификатор модуля БиоАПИ, для которого должен быть установлен режим энергопотребления. Параметр BioAPI_DONT_CARE для данной функции не используется.
PowerMode (входной параметр) - 32-битовое значение, определяющее режим энергопотребления, в который следует перевести модуль БиоАПИ.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
5.2.10 BioAFPI_DbOpen
BioAPI_RETURN BioAPI BioAFPI_DbOpen | |
(BioAPI_UNIT_ID UnitID, | |
BioAPI_DB_ACCESS_TYPE AccessRequest, | |
BioAPI_DB_MARKER *Marker). |
Описание
Данная функция открывает базу данных ЗБИ, поддерживаемую подключенным в настоящее время архивом вызванного модуля БиоАПИ, использованием режима доступа, определяемого параметром AccessRequest. Указатель Marker базы данных устанавливается на первую запись в базе данных ЗБИ.
Примечание - Каждый вызов данной функции должен сопровождаться вызовом функции BioAFPI_DbFreeMarker для освобождения ресурсов, выделенных в функции открытия базы данных. В ПБУ должно быть учтено, что каждый вызов функции BioAFPI_DbOpen приводит к выделению ресурсов, которые не могут быть автоматически освобождены (в противном случае станет невозможным повторное обращение к базе данных с использованием возвращенного дескриптора). Если в ПБУ не планируется повторное обращение к базе данных, следует немедленно вызвать функцию BioAFPI_DbFreeMarker, в противном случае вызов данной функции должен быть выполнен после завершения повторного обращения к базе данных.
Параметры
UnitID (входной параметр) - идентификатор модуля БиоАПИ, предварительно определенный ПБФА.
AccessRequest (входной параметр) - признак требуемого режима доступа к базе данных, возможные значения признака read и write. В отдельной системе в каждый момент времени только одно приложение может открыть адресуемую базу данных в режиме BioAPI_DB_ACCESS_WRITE. Выполнение данного требования контролируется ПБУ.
Marker (выходной параметр) - указатель, который используется для повторного обращения к базе данных.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_UNABLE_TO_OPEN_DATABASE
BioAPIERR_DATABASE_IS_LOCKED
BioAPIERR_DATABASE_DOES_NOT_EXIST
BioAPIERR_INVALID_ACCESS_REQUEST
BioAPIERR_DATABASE_IS_CORRUPT
5.2.11 BioAFPI_DbClose
BioAPI_RETURN BioAPI BioAFPI_DbClose | ||
(BioAPI_UNIT_ID UnitID). |
Описание
Данная функция закрывает базу данных ЗБИ, поддерживаемую вызовом идентифицируемого модуля БиоАПИ. Все указатели, установленные на записи в базе данных, освобождаются.
Примечание - Если база данных, открытая в режиме DB_ACCESS_WRITE, не будет закрыта, она может быть повреждена.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitID (входной параметр) - идентификатор модуля БиоАПИ, предварительно определенный ПБФА.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_UNABLE_TO_CLOSE_DATABASE
BioAPIERR_DATABASE_IS_CORRUPT
5.2.12 BioAFPI_DbCreate
BioAPI_RETURN BioAPI BioAFPI_DbCreate | |
(const BioAPI_UUID *DbUuid, | |
uint32_t NbrOfRecords). |
Описание
Данная функция создает новую базу данных ЗБИ, поддерживаемую присоединенным в данный момент ПБФА. Идентификатор новой базы данных определяется входным параметром DbUuid, который должен быть создан биометрическим приложением и должен отличаться от УУИД всех баз данных, с которыми в настоящий момент работает приложение. ПБФ не откроет эту базу данных, поэтому для управления этой базой не будет создан ни один модуль БиоАПИ. После успешного создания базы данных ПБФ архива сначала внесет в реестр компонентов информацию о максимальной длине записи и максимальном количестве записей, затем вызовет событие подключения к ПБУ и, таким образом, представит системе новый модуль архива БиоАПИ во включенном состоянии.
Параметры
DbUuid (входной параметр) - указатель на УУИД, который будет идентифицировать создаваемую базу данных ЗБИ.
NbrOfRecords (входной параметр) - максимальное число записей, которые будут сохранены в базе данных ЗБИ.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_UNABLE_TO_CREATE_DATABASE
BioAPIERR_DATABASE_ALREADY_EXISTS
BioAPIERR_INVALID_UUID
BioAPIERR_INVALID_UNIT_ID
5.2.13 BioAFPI_DbDelete
BioAPI_RETURN BioAPI BioAFPI_DbDelete | |
(BioAPI_UNIT_ID UnitID). |
Описание
Данная функция удаляет все записи из указанной базы данных ЗБИ, а также всю информацию о состоянии этой базы данных. ПБФА также удаляет всю информацию из реестра компонентов. После успешного удаления базы данных ПБФА вызывает событие отключения.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitID (входной параметр) - идентификатор модуля архива, который управляет удаляемой базой данных.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_DATABASE_IS_OPEN
BioAPIERR_INVALID_UNIT_ID
5.2.14 BioAFPI_DbSetMarker
BioAPI_RETURN BioAPI BioAFPI_DbSetMarker | |
(BioAPI_UNIT_ID UnitID, | |
const BioAPI_UUID *KeyValue, | |
BioAPI_DB_MARKER *Marker). |
Описание
С помощью данной функции указателю Marker присваивается значение для указания на запись, обозначенную параметром KeyValue в базе данных ЗБИ, идентифицируемой с помощью параметра UnitlD. Если параметр KeyValue имеет NULL-значение, указатель устанавливается на первую запись в базе данных ЗБИ.
Примечание - При возникновении ошибки положение указателя не изменяется.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitlD (входной параметр) - идентификатор модуля архива, управляющего базой данных.
KeyValue (входной параметр) - значение первичного ключа записи в базе данных ЗБИ, на которую должен указывать Marker.
Marker (входной/выходной параметр) - указатель, который используется для повторного обращения к базе данных, начиная с позиции извлекаемой записи.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_RECORD_NOT_FOUND
BioAPIERR_INVALID_UNIT_ID
5.2.15 BioAFPI_DbFreeMarker
BioAPI_RETURN BioAPI BioAFPI_DbFreeMarker | |
(BioAPI_UNIT_ID UnitlD, | |
BioAPI_DB_MARKER *Marker). |
Описание
Данная функция освобождает память и ресурсы, связанные с определенным указателем Marker.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitlD (входной параметр) - идентификатор модуля архива, управляющего базой данных.
Marker (входной параметр) - указатель базы данных ЗБИ, который должен быть освобожден.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_MARKER_IS_INVALID
BioAPIERR_INVALID_UNIT_ID
5.2.16 BioAFPI_DbStoreBIR
BioAPI_RETURN BioAPI BioAFPI_DbStoreBIR | |
(BioAPI_UNIT_ID UnitID, | |
const BioAPI_INPUT_BIR *BIRToStore, | |
BioAPI_UUID *Uuid). |
Описание
Данная функция сохраняет ЗБИ, идентифицируемую параметром BIRToStore, в открытой базе данных ЗБИ, идентифицируемой параметром UnitlD. Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Если значение параметра BIRToStore определяется дескриптором ЗБИ, то входной дескриптор ЗБИ освобождается. Если значение параметра BIRToStore определяется значением первичного ключа базы данных, то ЗБИ копируется в открытую базу данных. Новой ЗБИ в базе данных присваивается новый УУИД, который может использоваться в качестве значения первичного ключа для последующего доступа к ЗБИ.
Параметры
UnitlD (входной параметр) - идентификатор модуля архива, управляющего базой данных.
BIRToStore (входной параметр) - ЗБИ, сохраняемая в открытой базе данных (или ЗБИ, или ее дескриптор, или указатель на ЗБИ в другой открытой базе данных).
Uuid (выходной параметр) - УУИД, однозначно определяющий новую ЗБИ в базе данных. Данный УУИД не может быть изменен. ЗБИ добавляется в конец базы данных.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
5.2.17 BioAFPI_DbGetBIR
BioAPI_RETURN BioAPI BioAFPI_DbGetBIR | |
(BioAPI_UNIT_ID UnitlD, | |
const BioAPI_UUID *KeyValue, | |
BioAPI_BIR_HANDLE *RetrievedBIR, | |
BioAPI_DB_MARKER *Marker). |
Описание
Данная функция извлекает ЗБИ, определенную параметром KeyValue, в открытой базе данных ЗБИ, определенной параметром UnitlD. Функция копирует ЗБИ в память ПБФ и возвращает дескриптор ЗБИ. Указатель Marker устанавливается на извлекаемую ЗБИ и может быть впоследствии использован для повторного обращения к базе данных, начиная с записи, следующей за извлекаемой.
Блок памяти, возвращенный с помощью функции ИПБФА, должен быть освобожден ПБУ.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitlD (входной параметр) - идентификатор модуля архива, управляющего базой данных.
KeyValue (входной параметр) - значение первичного ключа извлекаемой ЗБИ в базе данных ЗБИ.
ReteivedBIR (выходной параметр) - дескриптор извлекаемой ЗБИ.
Marker (выходной параметр) - указатель на запись, который может быть впоследствии использован для повторного обращения к базе данных, начиная с записи, следующей за извлекаемой.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_RECORD_NOT_FOUND
5.2.18 BioAFPI_DbGetNextBIR
BioAPI_RETURN BioAPI BioAFPI_DbGetNextBIR | |
(BioAPI_UNIT_ID UnitID, | |
BioAPI_DB_MARKER *Marker, | |
BioAPI_BIR_HANDLE *RetrievedBIR, | |
BioAPI_UUID*Uuid). |
Описание
Данная функция извлекает ЗБИ, определенную параметром Marker. Функция копирует ЗБИ в память ПБФ и возвращает ее дескриптор, а также указатель на УУИД, который однозначно определяет ЗБИ в базе данных, после чего указатель Marker устанавливается на следующую запись в базе данных.
Примечание - Если в базе данных больше нет записей, указатель устанавливается на недействительное местоположение.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitID (входной параметр) - идентификатор модуля архива, управляющего базой данных.
Marker (входной/выходной параметр) - указатель на извлекаемую запись.
RetreivedBIR (выходной параметр) - дескриптор извлекаемой ЗБИ.
Uuid (выходной параметр) - УУИД, однозначно определяющий извлекаемую ЗБИ в базе данных ЗБИ.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_END_OF_DATABASE
BioAPIERR_MARKER_IS_INVALID
5.2.19 BioAFPI_DbDeleteBIR
BioAPI_RETURN BioAPI BioAFPI_DbDeleteBIR | |
(BioAPI_UNIT_ID UnitID, | |
const BioAPI_UUID *KeyValue). |
Описание
Данная функция удаляет ЗБИ, определенную параметром KeyValue, в открытой базе данных ЗБИ, определенной параметром UnitID. Если на удаляемую ЗБИ установлен указатель, то:
a) если удаляемая ЗБИ не является последней ЗБИ в базе данных, указатель устанавливается на следующую ЗБИ;
b) в противном случае указатель устанавливается на недействительное местоположение. Однако дескриптор указателя остается действительным и может быть использован в последующем вызове функции BioAFPI_DBSetMarker для установки указателя на другую запись.
Значение идентификатора модуля, предоставленное ПБУ в качестве входного параметра данной функции, и значение идентификатора модуля, предоставленное инфраструктурой БиоАПИ ПБУ при вызове функции BioSPI_BSPAttach (в случае его наличия), могут не совпадать, если оба значения идентификатора соответствуют одному и тому же модулю БиоАПИ (см. 5.2.5).
Параметры
UnitID (входной параметр) - идентификатор модуля архива, управляющего базой данных.
KeyValue (входной параметр) - УУИД удаляемой ЗБИ.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK соответствует успешному выполнению функции. Остальные значения определяют тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_RECORD_NOT_FOUND
Приложение ДА. Сведения о соответствии ссылочного международного стандарта национальному стандарту
Приложение ДА
(справочное)
Таблица ДА.1
Обозначение ссылочного международного стандарта | Степень соответствия | Обозначение и наименование соответствующего национального стандарта |
ИСО/МЭК 19784-1-2006 | IDТ | ГОСТ Р 19784-1-2007* (ИСО/МЭК 19784-1-2006) "Спецификация биометрического программного интерфейса" |
______________ | ||
Примечание - В настоящей таблице использовано следующее условное обозначение степени соответствия стандарта: |
УДК 004.93'1:006.89 | ОКС 35.040 |
Ключевые слова: автоматическая идентификация, биометрическая идентификация, биометрический архив, поставщик биометрической функции архива, интерфейс поставщика биометрической функции архива |
Электронный текст документа
и сверен по:
официальное издание
М.: Стандартинформ, 2018