BSFPUuid (входной) - УУИД ПФБД, который инициирует событие.
UnitID (входной) - ИД модуля BioAPI (биометрического датчика), связанного с событием.
UnitSchema (входной) - указатель на схему модуля BioAPI, связанного с данным событием.
EventType (входной) - тип произошедшего события BioAPI_EVENT.
Параметр определяющий список возможных действий, которые будут выполняться ПФБ, после того как функция обратного вызова уведомления о событии выполнения ГИП возвратила управление ПФБ. Перед возвращением из функции обратного вызова ПБУ присваивает значение данного типа выходному параметру функции обратного вызова (параметр Response).
Значение BioSFPI_GUI_RESPONSE_PROGRESS_CONTINUE может быть возвращено только в ответ на обратный вызов уведомления о событии выполнения ГИП. Это является показателем того, что ПФБ должен продолжить выполнение процесса сбора биометрических данных.
Значение BioSFPI_GUI_RESPONSE_PROGRESS_ABORT может быть возвращено только в ответ на обратный вызов уведомления о событии выполнения ГИП. Это является показателем того, что ПФБ должен прекратить выполнение процесса сбора биометрических данных и выдать код ошибки. После такого ответа от ПБУ ожидается возвращение ошибки на первоначальный вызов от ПФБ.
Если возвращаемое ПБУ значение ответа отличается от допустимых значений, то ПФБ должен прекратить выполнение процесса сбора биометрических данных и вызвать первоначальную функцию вызова для возвращения кода ошибки. Какие-либо еще уведомления от функции обратного вызова о событии выполнения ГИП от ПФБ по той же функции не ожидаются.
8.1.4 BioSFPI_GUI_PROGRESS_EVENT_HANDLER
Функция обратного вызова
Описание
Тип указателя функции ПБУ для функции обработчика событий ГИП, которая должна обрабатывать обратные вызовы уведомления о событиях выполнения ГИП, приходящих от ПФБ. В целях получения уведомлений о событиях выполнения ГИП, ПБУ должен зарегистрировать функцию обратного вызова типа BioSFPI_GUI_PROGRESS_EVENT_HANDLER посредством предоставления адреса функции обратного вызова, параллельно с адресом контекста, при вызове BioSFPI_SubscribeToGUIEvents (8.2.16).
Инфраструктура совершает обратный вызов функции приложения данного типа каждый раз, когда она получает входящий обратный вызов функции типа BioSPI_GUI_PROGRESS_EVENT_HANDLER, который она предоставляет ПФБ. Параметры функции обратного вызова (за исключением GUIProgressEventHandlerCtx) должны быть установлены из параметров входящего обратного вызова с теми же именами. Параметр GUIProgressEventHandlerCtx должен быть установлен из адреса контекста выполнения ГИП, изначально предоставленного ПБУ при вызове функции BioSFPI_SubscribeToGUIEvents, а адрес обратного вызова должен быть установлен из адреса обратного вызова выполнения ГИП, изначально предоставленного ПБУ при вызове функции BioSFPI_SubscribeToGUIEvents.
ПФБ может создать событие выполнения ГИП только во время выполнения вызова функций BioSFPI_DataTransfer, BioSFPI_Play или какой-либо другой, которая включена в выполнение процесса сбора биометрических данных. Они могут быть созданы в любое время, даже несколько раз, в течение любого процесса сбора биометрических данных.
Основная цель уведомления о событии выполнения ГИП - отправка ПБУ потоковых данных (в качестве серии битовых массивов), полученных биометрическим датчиком. Одним из возможных вариантов использования такой информации для ПБУ является предоставление битовых массивов субъекту или оператору. ПБУ должен отвечать на каждое уведомление о событии выполнения ГИП, определяя должно ли выполнение процесса сбора биометрических данных продолжено или прекращено (8.1.3).
Функция обработчика события выполнения ГИП и любая другая функция, вовлеченная (напрямую или косвенно) данной функцией, не должны вызывать какую-либо функцию BioSPFI.
Если ПБУ возвращает значение, отличное от BioAPI_OK, то ПФБ должен прекратить текущий процесс сбора биометрических данных и возвратить код ошибки.
Параметры
UnitID (входной) - ИД модуля биометрического датчика ПБУ, с которым связано событие ГИП.
GUIProgressEventHandlerCtx (входной) - контекст адреса, изначально предоставляемый приложением-подписчиком, как составная часть подписки на события ГИП.
Bitmaps (входной) - массив битов, содержащих изображение(я) образцов, запись которых произведена посредством выполнения процесса сбора биометрических данных, и которые предназначены для представления субъекту или оператору. Указанный массив, как правило, содержит ноль либо один битовый массив, но в случае, если ПФБ поддерживает мультимодальный сбор биометрических данных в ходе единичной операции сбора данных, такой массив может содержать множество битовых массивов.
Response (входной) - значение, указывающее на ответ ПБУ на уведомление о событии выбора ГИП (8.1.3).
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_USER_CANCElLED
BioAPIERR_FUNCTION_FAILED
BioAPIERR_FUNCTION_NOT_SUPPORTED
8.2.1 Функция BioSFPI_BSFPLoad
BioAPI_RETURN BioAPI BioSFPI_BSFPLoad
const BioAPI_UUID *BSFPUuid,
BioSFPI_EventHandler BioSFPINotifyCallback);
Описание
Данная функция инициализирует ПФБ. Инициализация включает в себя регистрацию обработчика события ГИП для определенных ПФБ и предоставление возможности для всех событий. ПБУ может предоставить функции обработчика событий возможность получения уведомлений о событиях. Многие ПБУ могут независимо друг от друга одновременно загружать один и тот же ПФБ, и каждый ПБУ может установить свой собственный обработчик событий. Все они будут получать уведомления о событиях. Один либо разные обработчики событий могут быть использованы, если ПБУ загружает множество ПФБ.
ПБУ может установить сколько ему необходимо обработчиков для заданного ПФБ путем единичного или множественных вызовов функции BioSFPI_BSFPLoad к такому ПФБ. Обработчик событий определен адресом уведомления.
Когда в ПФБ происходит событие, он может отправить уведомление о событии в ПБУ посредством вызова обработчика событий ПБУ.
Если ПБУ установил несколько обработчиков событий, необходимо, чтобы каждый из них был вызван по одному за раз (в любом порядке, выбранном ПФБ), а не несколько одновременно.
Уведомление о событии может появиться в любое время: во время вызовов функции BioSPI или в то время, когда вызовы функции BioSPI не выполняются. Разработчик приложения должен гарантировать, что обратные вызовы будут правильно и безопасно обрабатываться приложением независимо от того, когда приложение будет их получать.
Примечание - В данном случае необходимо использовать технологию синхронизированных потоков и порядка действий, сформированных кодом ПБУ в обработчиках событий.
Когда ПФБ загружен (BioSFPI_BSFPLoad), он должен незамедлительно вызвать событие "вставить" (insert) для каждого имеющегося в наличие модуля BioAPI. Последнее позволит определить ПБУ, что он может продолжить выполнение функции BioSFPI_UnitAttach. Если аппаратный компонент для определенных функциональных возможностей не был подключен, то событие "insert" (вставить) не может быть вызвано до тех пор, пока аппаратный компонент не будет включен.
Функция BioSFPI_UnitAttach может быть задействована несколько раз для каждого вызова функции BioSFPI_BSFPLoad. Параметр BSFPUuid определяет задействованный ПФБ.
Параметр BioSFPINotifyCallback определяет функцию обратного вызова, которая была использована для уведомления ПБУ о событиях типа BioAPI_EVENT. ПФБД должен возвратить данную информацию для дальнейшего использования.
Параметры
BSFPUuid (входной) - УУИД задействованного ПФБД. Используется для определения местоположения элемента компонента в каталоге;
BioSFPINotifyCallback (входной)) - функциональный указатель на обработчика событий, который управляет событиями типа BioAPI_EVENT.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_MODULE_LOAD_FAIL
BioAPIERR_INVALID_UUID
8.2.2 Функция BioSFPI_UnitAttach
BioAPI_RETURN BioAPI BioSFPI_UnitAttach
(BioAPI_UNIT_ID UnitID);
Описание
Данная функция создает сессию присоединения.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставленного ПБУ в качестве входного к данной функции, было таким же, как значение ИД модуля, который инфраструктура представила ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitID (входное) - ИД модуля BioAPI, определенного предшествующим вызовом функции BioSFPI_QueryUnits. ПФБД заполняет UnitID в поле UnitId каждого элемента BioAPI_UNIT_SCHEMA.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_UNIT_IN_USE
8.2.3 Функция BioSFPI_UnitDetach
BioAPI_RETURN BioAPI BioSFPI_UnitDetach
(BioAPI_UNIT_ID UnitID);
Описание
Данная функция создает сессию присоединения.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставленного ПБУ в качестве входного к данной функции, было таким же, как значение ИД модуля, который инфраструктура представила ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitID (входное) - ИД модуля BioAPI, определенного предшествующим вызовом функции BioSFPI_QueryUnits. ПФБД заполняет UnitID в поле UnitId каждого элемента BioAPI_UNIT_SCHEMA.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_INVALID_UNIT_ID
BioAPI_RETURN BioAPI BioSFPI_QueryUnits
(const BioAPI_UUID *BSFPUuid,
BioAPI_UNIT_SCHEMA **UnitSchemaArray,
uint32_t *NumberOfElements);
Описание
Данная функция возвращает массив схем модулей BioAPI (см. 7.55 в ИСО/МЭК 19784-1:2006), которые управляются заданным ПФБД и находятся в состоянии ввода.
Примечание - Когда ПБУ вызывает функцию ПФБ BioSFPI_QueryUnits, ПФБ выделяет память для данных, которые будут возвращены ПБУ. В некоторых схемах выполнения ПБУ передает данные приложению в точности, как возвращено ПФБ, так как приложение интерпретирует адрес так же, как и ПФБ, и сможет получить доступ к данным, которые размещены по данному адресу. В других схемах выполнения ПБУ будет необходимо переместить все данные, возвращенные ПФБ, во вновь выделенный блок памяти, доступный приложению, и вызвать функцию BioSPI_Free после копирования каждого блока памяти, но перед возвращением вызова функции BioAPI_QueryUnits. В первом случае, когда инфраструктура вызывает функцию BioSPI_Free, ПБУ совершает соответствующий вызов функции BioSFPI_Free. В последнем случае вызовы функции BioSPI_Free будут внутренне поддерживаться ПБУ. Тем не менее такие отличия в поведении ПБУ не заметны для инфраструктуры.
Когда блок памяти, содержащий массив, более не нужен ПБУ, посредством вызова функции BioSFPI_Free ПБУ освобождает данный блок памяти. Блок памяти, на который указывает параметр UnitProperty внутри каждого элемента массива, должен быть также освобожден ПБУ через вызов функции BioSFPI_Free после того, как у ПБУ больше не будет в нем необходимости.
Данная функция должна вызываться только после того, как функция BioSFPI_Load была вызвана для определенного ПФБ.
Не существует каких-либо требований, чтобы ИД модуля, который возвращается данной функцией для данного модуля BioAPI, был доступен по такому же значению ИД модуля от ПБУ к инфраструктуре. ПБУ может перевести любое значение ИД модуля (предоставленное ПФБ) в другое значение ИД перед тем, как предоставить его инфраструктуре. Цель такого перевода заключается в предотвращении дублирования ИД модулей внутри области ПБУ, что может произойти, когда ПБУ использует два или более ПФБ одинаковой категории либо, когда ПБУ использует ПФБД и одновременно напрямую управляет биометрическими датчиками.
Параметры
BSFPUuid (входной) - уникальный идентификатор для ПФБД, информация о котором должна быть возвращена;
UnitSchemaArray (входной) - указатель для адреса массива элементов типа BioAPI_UNIT_SCHEMA (местоположение которых определено ПБУ), содержит информацию о схеме модуля.
NumberOfElements (входной) - указатель числа элементов в массиве, который управляется данным ПФБД и находится в состоянии ввода.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_INVALID_UUID
BioAPIERR_MEMORY_ERROR
8.2.5 Функция BioSFPI_Free
BioAPI_RETURN BioAPI BioSFPI_Free
Описание
Данная функция освобождает область памяти, на которую указывает параметр Ptr. Если параметр Pfr имеет нулевое значение, то никакие действия не выполняются. Если параметр Ptr не соответствует указателю, ранее возвращенному функциями BioSPFI, или если область памяти уже была освобождена вызовом функции BioSFPI_Free, то последствия вызова данной функции неопределенны.
Параметры
Ptr (входной) - указатель на освобождаемую память.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции.
8.2.6 Функция BioSFPI_ControlUnit
BioAPI_RETURN BioAPI BioSFPI_ControlUnit
(BioAPI_UNIT_ID UnitID,
uint32_t ControlCode,
const BioAPI_DATA *InputData,
BioAPI_DATA **OutputData);
Описание
Данная функция отправляет контрольные данные в модуль BioAPI и принимает от него данные статуса и операций. Содержание параметра ControlCode, входных данных и выходных данных будет определено в соответствующей спецификации для конкретного модуля BioAPI.
Данная функция выделяет область памяти, достаточную для размещения выходных данных, которые должны быть возвращены приложению, заполняет блок данными и записывает в поля "Длина" (Length) и "Данные" (Data) структуры OutputData, размер и адрес блока памяти соответственно.
Блок памяти, возвращенный при вызове функции BioSFPI, должен быть освобожден приложением путем вызова функции BioSFPI_Free.
Функция представляет собой прозрачный канал для модуля BioAPI и может быть использована для любых целей, которые не могут быть реализованы стандартизированными функциями (например, управление установками контраста, установка фокуса и т.п.).
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который структура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitID (входной) - ИД модуля BioAPI, который был ранее определен ПФБД.
ControlCode (входной) - код функции в вызываемом модуле BioAPI;
InputData (входной) - адрес и длина буфера, содержащего данные, которые необходимо отправить в модуль BioAPI, относящийся к заданному параметру ControlCode;
OutputData (выходной) - указатель на структуру BioAPI_DATA. Являясь выходным параметром, он должен содержать адрес и длину данных буфера, который содержит данные, полученные от модуля BioAPI после обработки функции, определенной параметром ControlCode. Если функцией не распределен какой-либо блок памяти, то адрес должен быть установлен на пустой указатель, а длина - на ноль.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_MEMORY_ERROR
BioAPIERR_INVALID_POINTER
BioAPIERR_FUNCTION_FAILED
BioAPIERR_FUNCTION_NOT_SUPPORTED
8.2.7 Функция BioSFPI_Cancel
BioAPI_RETURN BioAPI BioSFPI_Cancel
(BioAPI_UNIT_ID UnitID);
Описание
Данная функция отменяет вызов, который находится в заблокированном состоянии, к модулю BioAPI. Функция не должна возвращаться до тех пор, пока заблокированный вызов не будет отменен.
Выполнение ПФД должно допускать, что данная функция может быть вызвана из ПБУ в любой момент. Заблокированный вызов к модулю BioAPI не должен препятствовать вызову данной функции.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который структура предоставляет ПБУ в исходном вызове к BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitID (входное) - ИД модуля BioAPI, в котором заблокированный вызов должен быть отменен.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_UNIT_IN_USE - обозначает, что нижележащие слои не могут отменить заблокированный вызов должным образом. Либо необходимы действия со стороны программного обеспечения, либо со стороны аппаратных средств изготовителя для перезагрузки связанных компонентов
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_UNIT_NOT_INSERTED
8.2.8 Функция BioSFPI_SetPowerMode
BioAPI_RETURN BioAPI BioSFPI_SetPowerMode
(BioAPI_UNIT_ID UnitId,
BioAPI_POWER_MODE PowerMode);
Описание
Данная функция устанавливает присоединенный модуль BioAPI в требуемый режим энергопотребления в том случае, если модуль поддерживает данный режим.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который структура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, для которого необходимо установить требуемый режим энергопотребления. Опция BioAPI_DONT_CARE недоступна для данной функции.
PowerMode (входной) - 32-х битное значение, указывающее режим энергопотребления, в который требуется перевести модуль BioAPI.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
8.2.9 Функция BioSFPI_SetGUICallbacks
BioAPI_RETURN BioAPI BioSFPI_SetGUICallbacks
(BioAPI_UNIT_ID UnitId,
BioAPI_GUI_STREAMING_CALLBACK GuiStreamingCallback,
Void *GuiStreamingCallbackCtx,
BioAPI_GUI_STATE_CALLBACK GuiStateCallback,
Void *GuiStateCallbackCtx);
Описание
Данная функция позволяет ПБУ устанавливать параметры функции обратного вызова таким образом, что ПБУ может принять информационные данные путем получения от ПФБД как последовательного битового массива изображений, называемых потоковыми данными, так и информации о состоянии.
Примечание - Не все ПФБД поддерживают функцию предоставления потоковых данных.
Параметры
UnitId (входной) - ИД модуля BioAPI, который может возвратить информацию обратного вызова о статусе и данных;
GuiStreamingCallback (входной) - указатель на обратный вызов ПБУ для взаимодействия с представлением потоковых биометрических данных;
GuiStreamingCallbackCtx (входной) - указатель на контекстную информацию, которая была предоставлена ПБУ и будет представлена в обратном вызове;
GuiStateCallback (входной) - указатель на обратный вызов ПБУ для взаимодействия с изменениями состояния ГИП;
GuiStateCallbackCtx (входной) - указатель на контекстную информацию, которая была предоставлена ПБУ и будет представлена в обратном вызове.
Примечание 1 - Определения функциональных подтипов для BioAPI_GUI_STATE_CALLBACK и BioAPI_GUI_STREAMING_CALLBACK (см. 7.36 и 7.37 в ИСО/МЭК 19784-1:2006)
Примечание 2 - Определение интерфейса пользователя приведено в приложении C, раздел C.7.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_INVALID_POINTER
BioAPIERR_FUNCTION_NOT_SUPPORTED
8.2.10 Функция BioSFPI_QueryFormatInfo
BioAPI_RETURN BioAPI BioSFPI_QueryFormatInfo
(BioAPI_UNIT_ID UnitId,
BioAPI_UUID *FormatInfo);
Описание
Данная функция используется для получения через модуль биометрического датчика информации о том, какой тип формата данных он поддерживает. Описание, полученных УУИД, представлено в A.4 и B.4.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове к BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для сбора биометрических данных;
FormatInfo (входной) - указатель буфера извлечения УУИД, который описывает формат данных, поддерживаемых модулем биометрического датчика.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
8.2.11 Функция BioSFPI_GetPackets
BioAPI_RETURN BioAPI BioSFPI_GetPackets
(BioAPI_UNIT_ID UnitId,
BIOAPI_DATA *MemoryForTransfer,
uint32_t *PacketLength,
BioAPI_BIR_BIOMETRIC_DATA_FORMAT *BDBFormat);
Описание
Данная функция отправляет запрос ПФБД на заполнение инфраструктуры BioAPI_DATA, на которую ссылается параметр MemoryForTransfer, и запрос на возврат с длиной вставленного пакета в PacketLength. Память распределяется ПБУ по размерам, которые взяты из BioSFPI_UNIT_IMAGE_PROPERTY_SCHEMA (приложение A) или BioSFPI_UNIT_SIGNATURE_PROPERTY_SCHEMA (приложение B).
Данная функция определяет модуль BioAPI_Unit и формат ББД, который будет возвращен одним или последовательностью вызовов функции BioSFPI_GetPackets. ПФБД может переписать параметр BDBFormat и возвратить другой формат, взамен запрашиваемого ПБУ.
ПБУ решает либо принять изменение формата, либо отменить операцию путем прекращения отправлений вызовов функции BioSFPI_GetPackets.
BDBFormat является идентификатором согласно ИСО/МЭК СТК 1 ПК 37 СД 9.
Выбранный формат ББД ограничен возможностями ПФБД для такого параметра UnitId (см. также BioSFPI_UNIT_IMAGE_PROPERTY_SCHEMA (приложение A) или BioSFPI_UNIT_SIGNATURE_PROPERTY_SCHEMA (приложение B)).
Примечание - Когда запрашивается множество последовательных пакетов с целью получения всех данных, например для процесса сбора биометрических данных, ПФБД должен возвратить пакеты в форматах и частях, которые могут быть обработаны ПБУ без детального знания характеристик ПФБД или модуля BioAPI_Unit. Архитектура ПФБД направлена на помощь в развитии менее детальных модулей BioAPI_Unit и более универсальных ПБУ.
ПБУ будет совершать взаимосвязанные вызовы функции BioSFPI_GetPackets до тех пор, пока ПФБД не сообщит "последний пакет" (last packet).
Принцип множественного буфера, заключающийся в увеличении производительности и скорости передачи данных ПБУ и ПФБД, может быть с легкостью осуществлен: во время совершения первого вызова функции BioSFPI_GetPackets в ПФБД, ПБУ может подготовить и распределить следующую часть передаваемой памяти. После того как возвратился первый вызов функции BioSFPI_GetPackets, ПБУ может незамедлительно совершить второй вызов функции BioSFPI_GetPackets, используя при этом заранее подготовленную память в инфраструктуре данных MemoryForDataTransfer. В то время как совершается второй вызов в ПФБД, возвращенная память первого вызова может быть обработана ПБУ и затем новая часть памяти может быть опять подготовлена для третьего вызова и так далее.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для сбора потоковых биометрических данных.
MemoryForTransfer (входной/выходной) - постоянный указатель, на который ссылается инфраструктура BioAPI_DATA, используемая для передачи данных. ПФБД установит следующие данные в MemoryForTransfer, в зависимости от лимита длины в данной инфраструктуре, возвращая данные о длине (Приложение C);
PacketLength (выходной) - размер пакета (в байтах), перемещенного в структуру BioAPI_DATA;
BDBFormat (входной/выходной) - владелец формата и тип формата ББД, который будет возвращен.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
8.2.12 Функция BioSFPI_DataTransfer
BioAPI_RETURN BioAPI BioSFPI_DataTransfer
(BioAPI_UNIT_ID UnitId,
uint32_t *StreamID,
BioAPI_DATA *SensorData,
BioAPI_BIR_BIOMETRIC_DATA_FORMAT *BDBFormat);
Описание
Данная функция извлекает базы данных, полученные в результате сбора. Данная функция определяет модуль BioAPI_Unit и возвращаемый формат баз данных.
Данная функция направляет запрос ПФБД на заполнение инфраструктуры BioAPI_DATA, на которую ссылается параметр SensorData. Память распределяется ПБУ по размерам, взятым из BioSFPI_UNIT_IMAGE_PROPERTY_SCHEMA (приложение A) или BioSFPI_UNIT_SIGNATURE_PROPERTY_SCHEMA (приложение B).
ПФБД может переписать параметр BDBFormat и возвратить другой формат взамен запрашиваемого ПБУ.
ПБУ решает либо принять изменение формата, либо отменить операцию путем отправления функции BioSFPI_Cancel.
BDBFormat является идентификатором, согласно ИСО/МЭК СТК 1 ПК 37 СД 9.
Выбранный формат ББД ограничен возможностями ПФБД для такого параметра UnitId (см. также BioSFPI_UNIT_IMAGE_PROPERTY_SCHEMA (приложение A) или BioSFPI_UNIT_SIGNATURE_PROPERTY_SCHEMA (приложение B)).
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для сбора биометрических данных;
StreamID (входной) - ИД доступа к потоковой функции, которая обеспечивается системным интегратором на любой имеющейся платформе, на которой возможна передача потоковых данных между ПФБД и ПБУ;
SensorData (выходной) - указатель на структуру извлечения биометрических данных;
BDBFormat (входной/выходной) - владелец формата и тип формата ББД, который будет возвращен.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
8.2.13 Функция BioSFPI_SetIndicatorStatus
BioAPI_RETURN BioAPI BioSFPI_SetIndicatorStatus
(BioAPI_UNIT_ID UnitId,
BioAPI_INDICATOR_STATUS IndicatorStatus);
Описание
Данная функция устанавливает выбранный модуль BioAPI на требуемый статус индикатора при условии, что модуль BioAPI его поддерживает.
После BioAPI_INDICATOR_ACCEPT либо в случае, если BioAPI_INDICATOR_REJECT установлен на параметр IndicatorStatus, статус не будет изменен до тех пор, пока приложение не установит другое значение.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, для которого необходимо установить статус индикатора. Опция BioAPI_DONT_CARE недоступна для данной функции;
IndicatorStatus (входной) - значение, на которое должен быть установлен статус индикатора модуля BioAPI.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_UNIT_NOT_INSERTED
BioAPIERR_UNIT_IN_USE
8.2.14 Функция BioSFPI_GetIndicatorStatus
BioAPI_RETURN BioAPI BioSFPI_GetIndicatorStatus
(BioAPI_UNIT_ID UnitId,
BioAPI_INDICATOR_STATUS *IndicatorStatus);
Описание
Данная функция возвращает статус индикатора модуля BioAPI, но только в том случае, если модуль поддерживает данный режим.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, для которого статус индикатора должен быть получен. Опция BioAPI_DONT_CARE недоступна для данной функции;
IndicatorStatus (выходной) - значение статуса индикатора модуля BioAPI.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_UNIT_NOT_INSERTED
BioAPIERR_UNIT_IN_USE
8.2.15 Функция BioSFPI_CalibrateSensor
BioAPI_RETURN BioAPI BioSFPI_CalibrateSensor
(BioAPI_UNIT_ID UnitId,
int32_t *Timeout);
Описание
Данная функция выполняет калибровку подключенного датчика модуля BioAPI, но только в том случае, если модуль датчика поддерживает калибровку.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для сбора биометрических данных;
Timeout (входной/выходной) - указатель на целое число, которое обозначает значение времени ожидания операции (в миллисекундах). Если время ожидания истекло, функция возвращает ошибку. Данное значение может быть любым числом. Если ПБУ установлено нулевое значение, то данная функция незамедлительно возвратится со значением, установленным на время ожидания, требуемое для настройки присоединенного модуля BioAPI_Unit при условии, что такой биометрический датчик поддерживает настройку. Если для биометрического датчика не предусмотрена настройка, то возвращаемое значение для времени ожидания будет 0.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
BioAPIERR_UNIT_IN_USE
BioAPIERR_INVALID_UNIT_ID
BioAPIERR_UNIT_NOT_INSERTED
BioAPIERR_CALIBRATION_NOT_SUCCESSFUL
BioAPIERR_TIMEOUT_EXPIRED
BioAPI_RETURN BioAPI BioSFPI_SubscribeToGUIEvents
(BioAPI_UNIT_ID UnitId,
BioSFPI_GUI_PROGRESS_EVENT_HANDLER GUIProgressEventHandler,
const void *GUIProgressEventHandlerCtx);
Описание
Данная функция является необязательной и создает подписку на события ГИП для имеющегося ПБУ. Поддержка подписок на события ГИП осуществляется ПБУ во время рабочего режима.
ПБУ предоставляет адреса функции обратного вызова для обработчика событий выполнения ГИП. Все значения параметра, которые предоставляются в вызове данной функции, должны стать частью подписки на события ГИП, поддерживаемой ПБУ.
Подписки на события ГИП, которые определяют сессию присоединения ПФБ, должны быть автоматически удалены ПБУ после того, как сессия присоединения будет разорвана.
Адреса контекста, предоставленные в вызове, должны быть переданы ПФБ обратно ПБУ в последующих обратных вызовах к обработчикам событий. Настоящий стандарт не определяет для адресов контекста какое-либо значение, но устанавливает для них соответствие требованиям некоторых ПФБ.
После нескольких вызовов функции, не должно появиться множество обработчиков событий выполнения ГИП, установленных для одного и того же ИД модуля ПБУ. Для любого входящего события ГИП не будет ситуации двусмысленности к какому обработчику событий ГИП (если таковые существуют) ПБУ должен направить вызов.
Примечание - Недопустимо наличие двух подписок с одинаковыми параметрами.
Данная функция вызывается только (для имеющегося ИД модуля ПБУ) в случае, если существует хотя бы один вызов функции BioSFPI_BFPLoad (для такого УУИД ПФБД).
Параметры
UnitId (входной) - ИД модуля BioAPI, который может возвратить статус или информацию об обратном вызове данных;
GUIProgressEventHandler (входной) - адреса обратных вызовов функции ПБУ, на которые приходят уведомления о событиях выполнения ГИП от ПФБ;
GUIProgressEventHandlerCtx (входной) - адреса контекстов, которые передаются ПФБ обратно ПБУ на каждый обратный вызов обработчика событий ГИП.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_INVALID_POINTER
BioAPIERR_FUNCTION_NOT_SUPPORTED
8.2.17 Функция BioSFPI_UnsubscribeFromGUIEvents
BioAPI_RETURN BioAPI BioSFPI_UnsubscribeFromGUIEvents
(BioAPI_UNIT_ID UnitId,
BioSFPI_GUI_PROGRESS_EVENT_HANDLER GUIProgressEventHandler
const void *GUIProgressEventHandlerCtx);
Описание
Данная функция является необязательной и удаляет подписку на события ГИП, созданную ранее посредством вызова функции BioSFPI_SubscribeToGUIEvents. Удаляется конкретная подписка, описание которой точно соответствует параметрам вызова.
Примечание - Даже при наличии только одной подписки вызов к данной функции не удаляет данную подписку на события ГИП, если параметры вызова не имеют точно таких же значений, как и в вызове функции BioSFPI_SubscribeToGUIEvents, для которых такая подписка была создана. ПБУ необходимо запомнить значение данных параметров.
У ПБУ нет необходимости вызова данной функции, так как все подписки на события ГИП для имеющегося ИД модуля автоматически уничтожаются ПБУ, после того как сессия присоединения была разорвана. Данная функция может быть использована, когда ПБУ необходимо изменить текущие подписки на события ГИП, но необходимости в разрыве сессии присоединения нет.
Данная функция вызывается только (для имеющегося ИД модуля ПБУ), если существует хотя бы один вызов функции BioSFPI_BFPLoad (для такого УУИД ПФБД).
Параметры
Параметры данной функции имеют то же значение, что и параметры функции BioSFPI_SubscribeToGUIEvents с теми же именами, и используются ПФБ для определения имеющейся подписки на события ГИП, которую необходимо удалить.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_INVALID_POINTER
BioAPIERR_FUNCTION_NOT_SUPPORTED
(обязательное)
A.1 Общие положения
Данное приложение описывает модули биометрических датчиков, которые регистрируют неподвижные или потоковые изображения.
A.1.1 Порядок следования битов и байтов
Все многобайтовые значения должны быть представлены в формате обратного порядка следования байтов (Big-Endian): старшие байты любого многобайтового значения записывают в память раньше младших байтов. В пределах байта: старшие биты записывают в память раньше младших битов. Все численные значения должны быть целочисленными и беззнаковыми величинами фиксированной длины.
A.1.2 Порядок сканирования
Каждое изображение согласно настоящему приложению должно быть зарегистрировано в вертикальном положении. Сканирование и запись данных изображения осуществляться слева направо и сверху вниз. Для описания позиции каждого пикселя на изображении необходимо использовать две оси координат. Начало осей координат (пиксель с координатами (0,0)) должно находиться в левом верхнем углу изображения. Значение координаты X (горизонтальная ось) должно увеличиваться от начала координат к правой границе изображения (слева направо). Значение координаты Y (вертикальная ось) должно увеличиваться от начала координат к нижней границе изображения (сверху вниз).
A.1.3 Соотношение длин сторон пикселя
Изображения представляются при помощи пикселей. Соотношение горизонтальных и вертикальных размеров пикселей либо задано, либо при необходимости возвращается от вызовов функций.
A.1.4 Глубина шкалы оттенков серого пикселя
Четкость данных шкалы оттенков серого пикселя должна быть определена в терминах глубины пикселя либо числом битов, используемых для представления значения шкалы оттенков серого пикселя. Глубина пикселя, равная 3, обеспечивает 8 уровней шкалы оттенков серого; глубина пикселя, равная 8, обеспечивает до 256 уровней серого. Для данных шкалы оттенков серого, минимальное значение, которое может быть соотнесено с "черным" пикселем, должно быть равным нулю. Максимальное значение, которое может быть соотнесено с "белым" пикселем, должно представлять собой значение шкалы оттенков серого со всеми битами, имеющими точность, установленную на 1. Тем не менее "самый черный" пиксель изображения может иметь значение, превышающее 0, а "самый белый" пиксель может иметь значение ниже своего максимального значения. Это означает, что максимальное значение для "белого" пикселя с 5 битами точности должно быть 31 или менее. Максимальное значение для "белого" пикселя при использовании 8 битной точности должно быть 255 или менее. Глубина пикселя может варьироваться от 1 до 16 битов.
A.1.5 Цветовое пространство
24-битное цветовое пространство RGB, в котором на каждый пиксель приходится по 8 битов на каждый компонент цвета: красный, зеленый и синий. Для достижения аппаратной независимости значения координат RGB, полученные с камеры или датчика, должны быть преобразованы в значения в стандартном цветовом пространстве RGB, например sRGB, с использованием цветового профиля и методов управления цветом устройства. Информация об управлении цветом устройств может быть получена с сайта международного консорциума по цвету www.color.org.
A.1.6 Чересстрочная развертка
Не допускается использование чересстрочной кадровой развертки потоковых изображений. Чересстрочная развертка не может быть компенсирована и не должна использоваться.
BioSFPI_BSFPImagePropertyID определяет УУИД формата BioSFPI_BSFPPropertySchema. Если заявлено соответствие ПФБД настоящему стандарту, он должен использовать параметр PropertySchema, как определено в данном приложении. Значение такого УУИД будет использовано в элементе ИД характеристик схемы ПФБ (см. 10.1.3 в ИСО/МЭК 19784-1:2006).
#define (BioSFPI_BSFPImagePropertyID, 0x4011dde0, 0x8008, 0x11de, 0xa393, 0x0002a5d5c51b);
Примечание - УУИД (4011dde0-8008-11de-a393-0002a5d5c51b) был создан и зарегистрирован в соответствии с ИСО/МЭК 9834-8, с использованием генератора, предоставленного международным телекоммуникационным союзом.
A.3 BioSFPI_BSFPImagePropertySchema
BioSFPI_BSFPPropertySchema содержит информацию о возможностях поставщика функций, которые предоставлены в реестре компонентов BioAPI и в соответствующих функциональных вызовах. Возможности поставщика функции могут отличаться от возможностей модуля биометрического датчика. Возможности, используемые ПБУ или приложением BioAPI, находятся на пересечении возможностей ПФБД и модуля биометрического датчика.
BSFPImageVersion - данное значение определяет версию ИПФБД. Версия соответствующая настоящему стандарту, имеет целое значение (десятичное) 16 либо (шестнадцатеричное) 10, соответствующее наибольшему значению - 1 и наименьшему значению - 0.
SupportedPowerModes - перечисление, определяющее типы режимов энергопотребления, которые ПБУ и присоединенные устройства (BioAPI_Units) могут использовать. Управление режимом энергопотребления основывается на передаче соответствующих функциональных вызовов к модулю BioAPI в случае, когда он поддерживает такой режим, и при возвращении кода ошибки, связанного с результатом реакции модуля BioAPI.
DataTransferSupported - в случае успешного выполнения функции ПФБ поддерживает вызовы BioSFPI_DataTransfer.
GetPacketsSupported - в случае успешного выполнения функции ПФБ поддерживает вызовы BioSFPI_GetPackets.
BDBFormatsSupportedList - указатель на список пары (владелец формата и тип формата, определяющие форматы ББД).
NumberOfElements - предоставляет число элементов в BDBFormatsSupportedList.
AdditionalParameters - указатель на поле данных, которое описывается разработчиком ПФБД либо другими стандартами.
AdditionalParametersSize - предоставляет размер (в байтах) инфраструктуры AdditionalParameters.
Примечание - Могут использоваться любые зарегистрированные форматы ББД (стандартные либо определенные изготовителем). Установка ограничений на использование форматов ББД может быть произведена посредством профилирования.
BioSFPI_UnitImagePropertyID определяет УУИД формата BioSFPI_UnitPropertySchema для модулей биометрических датчиков изображений. Если заявлено соответствие биометрического датчика настоящему стандарту, необходимо, чтобы он использовал параметр PropertySchema согласно требованиям настоящего стандарта.
#define (BioSFPI_UnitPropertyID, 0xa3f70a60, 0x800d, 0x11de, 0xba, 0xe3, 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b);
Примечание - Данный УУИД был создан и зарегистрирован в соответствии с ИСО/МЭК 9834-8 с использованием генератора, предоставленного международным телекоммуникационным союзом.
A.5 BioSFPI_UnitImagePropertySchema
BioSFPI_UnitPropertySchema содержит информацию, которая предоставляется в соответствующих функциональных вызовах.
Предоставление модулями биометрических датчиков данной схемы содержит информацию, необходимую для идентификации самого модуля (SensorUuid и SensorName), и информацию о возможностях в целом.
SensorType - УУИД типа модуля биометрического датчика. Значение совпадает с УУИД, определенным в A.2.
SensorUuid - УУИД, заданный изготовителем модуля биометрического датчика.
SensorName - наименование биометрического датчика.
SensorSerialNumber - идентификатор устройства, заданный изготовителем. Если установлено значение 0, то идентификатор устройства не определен.
MaxResponseTime - значение определяет максимальное время (в миллисекундах), которое при вызове какой-либо функции к модулю BioAPI должно пройти до возврата функции. Значение 0 - информация о максимальном времени до возврата от модуля BioAPI не задана.
SupportedPowerModes - перечисление, определяющее типы режимов мощности, которые ПБУ и присоединенные устройства (BioAPI_Units) могут использовать. Управление режимом мощности основывается на передаче соответствующих функциональных вызовов к модулю BioAPI, когда он поддерживает такой режим, и на возврате кода ошибки, связанного с результатом реакции модуля BioAPI.
PixelsHeight - определяет число вертикальных пикселей, которые поддерживаются модулем биометрического датчика.
PixelsWidth - определяет число горизонтальных пикселей, которые поддерживаются модулем биометрического датчика.
AspectRatio - значение определяет соотношение PixelsHeight (высоты пикселей) к PixelsWidth (ширине пикселей). Соотношение высчитывается делением верхних 16 битов AspectRatio (соотношение сторон) на нижние 16 битов. Например: для AspectRatio (соотношение сторон) 1:1 используется код 0x00010001.
MonochromePixelDepth - значение определяет глубину пикселя для изображений со шкалой оттенков серого. Если значение установлено на 0, то модуль биометрического датчика не будет поддерживать изображения со шкалой оттенков серого.
ColourPixelDepth - значение определяет глубину пикселя для изображений sRGB. Если значение установлено на 0, то модуль биометрического датчика не будет поддерживать цветные изображения. Преобразование из RGB в sRGB может быть выполнено либо модулем биометрического датчика самостоятельно, либо соответствующим ПФБД.
Resolution - значение определяет число пикселей в активной зоне датчика.
DataTransferSupported - в случае успешного выполнения функции биометрический датчик поддерживает вызовы функции BioSFPI_DataTransfer.
GetPacketsSupported - в случае успешного выполнения функции биометрический датчик поддерживает вызовы функции BioSFPI_GetPackets.
BDBFormatsSupportedList - указатель на список пары (владелец формата и тип формата, определяющие форматы ББД).
NumberOfElements - предоставляет число элементов в BDBFormatsSupportedList.
EstimatedDataRate - предоставляет усредненное число килобайтов в секунду от устройства между активацией и последующей деактивацией данного устройства. Если установлено значение 0, то информация отсутствует.
MaxPacketsPerSecond - предоставляет максимальное число пакетов в секунду, которое модуль BioAPI_Unit может создать. Данный параметр помогает ПБУ обеспечить эффективное управление памятью (например, множественные буферы). Если установлено значение 0, то информация отсутствует.
MaxFramesPerSecond - предоставляет максимальное число фреймов в секунду, которое модуль BioAPI_Unit может создать в потоковом режиме (при помощи BioSFPI_DataTransfer). Если установлено значение 0, то информация отсутствует.
SuggestedMemoryForTransferSize - предоставляет ПФС наиболее точную оценку оптимального количества памяти для передачи посредством функций BioSFPI_GetPackets или BioSFPI_DataTransfer потоковых данных.
A.6 Функции биометрического датчика изображений
A.6.1 Функция BioSFPI_GetImageParameters
Описание
Данная функция используется для извлечения параметров биометрического датчика.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для получения параметров сбора биометрических данных.
PixelsHeight (выходной) - указатель для извлечения вертикального размера изображения (в пикселях).
PixelsWidth (выходной) - указатель для извлечения горизонтального размера изображения (в пикселях).
Colours (выходной) - указатель для извлечения цветного режима модуля биометрического датчика. Если установлено значение 0, то модуль биометрического датчика будет возвращать шкалу оттенков серого до тех пор, пока не будет предложено обратное. Если установлено значение 1, то модуль биометрического датчика будет возвращать sRGB до тех пор, пока не будет отмены.
PixelDepth (выходной) - указатель для извлечения числа уровней канала(ов) цвета. Если изображения со шкалой оттенков серого, он предоставляет число уровней серого. В случае sRGB изображений он предоставляет уровни каждого цвета (красный, зеленый, голубой). Для трех цветов число уровней будет равным в любом случае.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
A.6.2 Функция BioSFPI_SetImageParameters
Описание
Данная функция используется для установки параметров биометрического датчика.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного параметра к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для установки параметров сбора биометрических данных.
PixelsHeight (входной) - устанавливает вертикальный размер изображения (в пикселях), который необходимо извлечь. Если устанавливаемый вертикальный размер отличается от значения по умолчанию и новый вертикальный размер не поддерживается биометрическим датчиком, то вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
PixelsWidth (входной) - устанавливает горизонтальный размер изображения (в пикселях), который необходимо извлечь. Если устанавливаемый горизонтальный размер отличается от значения по умолчанию и новый горизонтальный размер не поддерживается биометрическим датчиком, то вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
Colours (входной) - Если установлено значение 0, то к биометрическому датчику направляется запрос на возврат данных о шкале оттенков серого до тех пор, пока не будет предложено обратное. Если установлено значение 1, то к биометрическому датчику направляется запрос на возврат данных о sRGB до тех пор, пока не будет отмены. Если запрашиваемый формат данных не поддерживается биометрическим датчиком, вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
PixelDepth (входной) - определяет бинарное значение числа уровней каналов цвета. Если изображение со шкалой серого, он представляет число уровней серого. В случае sRGB изображений, он представляет уровни каждого цвета (красный, зеленый, голубой). Для трех цветов число уровней будет равным в любом случае. Если запрашиваемая глубина пикселей не поддерживается биометрическим датчиком, то вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
A.6.3 Функция BioSFPI_Pause
BioAPI_RETURN BioAPI BioSFPI_Pause
(BioAPI_UNIT_ID UnitId);
Описание
Данная функция останавливает извлечение потоковых данных.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входное) - ИД модуля BioAPI, к которому обращаются для остановки до тех пор, пока не предложено обратное.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
A.6.4 Функция BioSFPI_Play
Описание
Данная функция возобновляет сбор потоковых данных.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (см. 8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для сбора потоковых биометрических данных.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
(обязательное)
B.1 Общие положения
Данное приложение описывает биометрические датчики, которые осуществляют сбор данных подписи.
B.1.1 Порядок следования битов и байтов
Все многобайтовые значения должны быть представлены в формате обратного порядка следования байтов (Big-Endian): старшие байты любого многобайтового значения записывают в память раньше младших байтов. В пределах байта: старшие биты записывают в память раньше младших битов. Все численные значения должны быть целочисленными и беззнаковыми величинами фиксированной длины.
B.1.2 Система координат
Система координат, используемая для описания положения пера, должна быть трехмерной декартовой системой координат. Существуют три канала, которые были определены для записи данных о позиции пера в трехмерном пространстве. Ось X должна соответствовать горизонтальной оси рабочей поверхности, при этом значение координаты X должно увеличиваться при перемещении пера вправо. Ось Y должна соответствовать вертикальной оси рабочей поверхности, при этом значение координаты Y должно увеличиваться при перемещении пера вверх. Ось Z должна быть перпендикулярна к плоскости рабочей поверхности, при этом значение координаты Z должно увеличиваться при подъеме пера; нулевое значение соответствует положению, когда перо касается рабочей поверхности. Горизонтальная и вертикальная позиции на рабочей поверхности записываются в X и Y каналах соответственно. Высота пера над поверхностью записывается через Z канал.
Горизонтальная и вертикальная скорости пера на рабочей поверхности записываются в каналах VX и VY соответственно.
Горизонтальное и вертикальное ускорения пера на рабочей поверхности записываются в каналах AX и AY соответственно.
Канал T определен для записи данных о времени.
Канал DT определен для записи данных о времени по отношению к предыдущему образцу.
Канал F определен для записи данных о силе (давлении) пера.
Канал S определен для записи данных о том, касается ли перо рабочей поверхности или нет. Значение 0 - отсутствие касания; 1 - касание.
Также определены 5 каналов для записи данных об ориентации пера: Az, El, TY, TY и R. Исполнителям предоставлен выбор использования одновременно угла азимута пера и угла возвышения пера либо угла наклона пера. Третья степень свободы в ориентации определена, как свобода вращения пера относительно его оси.
Использование каналов X и Y обязательно. Также либо канал T, либо канал DT должен присутствовать, или равномерное сэмплирование (постоянная разница во времени между смежными точками отбора проб) должно быть определено. Использование других каналов является необязательным (ИСО/МЭК 19794-7:2007).
B.1.3 Поле "Наличие каналов" (Channel inclusion)
Поле "Наличие каналов" (Channel inclusion) должно определять наличие или отсутствие каналов. Поле "Наличие каналов" (Channel inclusion) состоит из 2 байтов. Каждый бит должен соответствовать какому-либо каналу, как указано в таблице B.1. Значение бита 1 кодирует наличие соответствующего канала, значение бита 0 кодирует отсутствие соответствующего канала.
Таблица B.1
В качестве примера на рисунке B.1 приведено поле "Наличие каналов" (Channel inclusion) в записи для подписывания/данных подписи, включающей в себя каналы: X, Y, T, F, S, Az, El и R.
Рисунок B.1 - Поле "Наличие каналов" (Channel inclusion)
(ИСО/МЭК 19794-7:2007)
B.1.4 Последовательность точек отбора проб
Поле каждой точки отбора пробы должно начинаться со значения обязательного канала X, за которым должны следовать значения обязательного канала Y и последовательность значений необязательных каналов, как указано в поле "Наличие каналов" (Channel inclusion). Порядок описания каналов определяется порядком каналов, указанным в поле "Наличие каналов" (Channel inclusion) (таблица B.1).
Для каналов Z, T, DT, F, Az, El и R допустимы целочисленные значения в диапазоне от 0 до 65 535. Указанные значения кодируются в 2 байтах, как целые числа без знака.
Для каналов X, Y, VX, VY, AX, AY, TX и TY допустимы целочисленные значения в диапазоне от 32 768 до 32 767. Указанные значения кодируются в 2 байтах, как целые числа без знака, после добавления 32 768 к каждому значению.
Следовательно, для не отрицательных чисел бит 8 самого значительного байта имеет значение 1; для отрицательных чисел бит 8 самого значительного байта имеет значение 0.
Для канала S допустимы целочисленные значения в диапазоне от 0 до 1. Указанные значения кодируются одним байтом, как целые числа без знака (см. ИСО/МЭК 19794-7:2007).
B.1.5 Частота отбора образцов
Частота отбора образцов определяет частоту сэмплирования, которая используется биометрическими датчиками подписи.
UnitSignaturePropertySchema содержит информацию об описании каналов. Так как каждый биометрический датчик подписи может иметь различные выходные значения (например, при одной и той же силе или угле вращения), необходимо учитывать информацию, касающуюся минимальных и максимальных значений, а также калибровочные коэффициенты.
Содержание поля "Описание каналов" (Channel descriptions) схоже с ИСО/МЭК 19794-7. Поле "Наличие каналов" (Channel inclusion) указывает на наличие описания каждого канала в убывающем порядке от старшего значащего бита (MSB) к младшему значащему биту (LSB) (см. B.1.3 и 7.3.4.1 в ИСО/МЭК 19794-7:2007).
Каждое описание канала должны начинаться с описания в соответствии с требованиями (см. B.1.3 и 7.3.4.1, 7.3.4.2 в ИСО/МЭК 19794-7:2007). За описанием следуют значения, определенные в описании. Закодированные значения и тип данных должны соответствовать требованиям ИСО/МЭК 19794-7:2007.
Таким образом, ChannelDescriptions представляет собой структуру данных различной длины, которая хранится в BSFP_UnitSignaturePropertySchema.
B.2 BioSFPI_BSFPSignaturePropertyID
BioSFPI_BSFPSignaturePropertyID определяет УУИД формата BioSFPI_BSFPSignaturePropertySchema. Если заявлено соответствие ПФБД настоящему стандарту, то он должен использовать параметр PropertySchema, как определено в данном приложении. Значение указанного УУИД будет использовано для предопределенного ИД элемента ПБУ в схеме ПБУ (см. 10.1.3 в ИСО/МЭК 19784-1:2006).
#define (BioSFPI_BSFPSignaturePropertyID, 0xcd02bde0, 0x800e, 0x11de, 0xb83, 0x26, 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b);
Примечание - УУИД (cd02bde0-800e-11de-8326-0002a5d5c51b) был создан и зарегистрирован в соответствии с ИСО/МЭК 9834-8, с использованием генератора, предоставленного международным телекоммуникационным союзом.
B.3 BioSFPI_BSFPSignaturePropertySchema
BioSFPI_BSFPSignaturePropertySchema содержит информацию о возможностях поставщика функций, которые представлены в реестре компонентов BioAPI и в соответствующих функциональных вызовах. Возможности поставщика функций могут отличаться от возможностей биометрического датчика подписи. Возможности, используемые ПБУ или приложением BioAPI, находятся на пересечении возможностей ПФБД и модуля биометрического датчика.
BSFPSignatureVersion - данное значение определяет версию ИПФБД. Версия, соответствующая настоящему стандарту, имеет целочисленное значение (десятичное) 16 либо (шестнадцатеричное) 10, соответствующее наибольшему значению - 1 и наименьшему значению - 0.
SupportedPowerModes - перечисление, определяющее типы режимов энергопотребления, которые ПБУ и присоединенные устройства (BioAPI_Units) могут использовать. Управление режимом мощности основывается на передаче соответствующих функциональных вызовов к модулю BioAPI в случае, когда он поддерживает такой режим, и возвращает код ошибки, связанного с результатом реакции модуля BioAPI.
DataTransferSupported - в случае истины, ПБУ поддерживает вызовы функции BioSFPI_DataTransfer.
GetPacketsSupported - в случае истины, ПБУ поддерживает вызовы функции BioSFPI_GetPackets.
BDBFormatsSupportedList - указатель на список пары (владелец формата и тип формата, определяющие форматы ББД).
NumberOfElements - предоставляет число элементов в BDBFormatsSupportedList.
AdditionalParameters - указатель на поле "Данные" (Data), которое описывается разработчиком ПФБД или другими стандартами.
AdditionalParametersSize - предоставляет размер инфраструктуры AdditionalParameters в битах.
Примечание - Могут использоваться любые зарегистрированные форматы ББД (стандартные либо определенные поставщиком). Установка ограничений на использование форматов ББД может быть произведена посредством профилирования.
BioSFPI_UnitSignaturePropertyID определяет УУИД формата BioSFPI_UnitSignaturePropertySchema для биометрических датчиков подписи.
Если заявлено, что ПФБД, поддерживаемый биометрическим датчиком подписи, соответствует настоящему стандарту, то он должен использовать параметр PropertySchema, как определено в настоящем стандарте.
#define (BioSFPI_UnitSignaturePropertyID, 0x84a898c0, 0x800f, 0x11de, 0xbd81, 0x0002a5d5c51b);
Примечание - УУИД (84a898c0-800f-11de-bd81-0002a5d5c51b) был сгенерирован и зарегистрирован в соответствии с ИСО/МЭК 9834-8, с использованием генератора, предоставленного международным телекоммуникационным союзом.
B.5 BioSFPI_UnitSignaturePropertySchema
BioSFPI_UnitSignaturePropertySchema содержит информацию, которую необходимо предоставить в соответствующих вызовах функций. Данная схема содержит информацию для идентификации самого модуля (SensorUuid и SensorName), а также информацию о возможностях модуля.
SensorType - УУИД типа модуля биометрического датчика. Значение равно УУИД, определенному в 7.1.2.
SensorUuid - УУИД модуля биометрического датчика, заданный изготовителем.
SensorName - наименование биометрического датчика.
SensorSerialNumber - идентификатор устройства, заданный изготовителем. Значение 0 - отсутствие поддерживаемых идентификаторов устройств.
MaxResponseTime - значение определяет максимальное время (в миллисекундах), которое при вызове какой-либо функции к модулю BioAPI должно пройти до возврата функции. Значение 0 - информация о максимальном времени до возврата от модуля BioAPI не задана.
SupportedPowerModes - перечисление, определяющее типы режимов мощности, которые ПБУ и присоединенные устройства (BioAPI_Units) могут использовать. Управление режимом мощности основывается на передаче соответствующих функциональных вызовов к модулю BioAPI, когда он поддерживает такой режим, и на возврате кода ошибки, связанного с результатом реакции модуля BioAPI.
Org_X (выходной) - указатель для получения начала оси X.
Org_Y (выходной) - указатель для получения начала оси Y.
Org_Z (выходной) - указатель для получения начала оси Z.
Ext_X (выходной) - указатель для получения протяженности оси X.
Ext_Y (выходной) - указатель для получения протяженности оси Y.
Ext_Z (выходной) - указатель для получения протяженности оси Z.
SampleRate - значение определяет частоту отбора образцов, с которой работает биометрический датчик подписи. Если значение не 0, то это означает, что используется постоянная разница во времени между смежными точками отбора образцов. При значении 0 должен присутствовать либо канал T, либо канал DT.
ChannelInclusion - использование каналов указывает на наличие или отсутствие каналов.
ChannelDescriptions - блок данных, содержащий минимум или максимум для значений канала (см. B.1.6)
RelativeMode - определяет, что значения X и Y соотносятся со значениями Org_X и Org_Y, либо с абсолютной декартовой системой координат биометрического датчика подписи.
DataTransferSupported - в случае истины биометрический датчик подписи поддерживает вызовы функции BioSFPI_DataTransfer.
GetPacketsSupported - в случае истины биометрический датчик подписи поддерживает вызовы функции BioSFPI_GetPackets.
BDBFormatsSupportedList - указатель на список пары (владелец формата и тип формата, определяющие форматы ББД).
NumberOfElements - число элементов в BDBFormatsSupportedList.
EstimatedDataRate - среднее число килобит в секунду от устройства между активацией и последующей деактивацией такого интерфейса. Если значение данного параметра 0, то информация отсутствует.
MaxPacketsPerSecond - предоставляет максимальное число пакетов в секунду, которое BioAPI_Unit может создать. Данный параметр помогает ПБУ обеспечить эффективное управление памятью (например, множественные буферы). Если значение данного параметра 0, то информация отсутствует.
MaxFramesPerSecond - максимальное число фреймов в секунду, которое BioAPI_Unit может создать в потоковом режиме (при помощи BioSFPI_DataTransfer). Если значение данного параметра 0, то информация отсутствует.
SuggestedMemoryFor TransferSize - предоставляет ПФС наиболее точную оценку оптимального количества памяти для передачи посредством функций BioSFPI_GetPackets или BioSFPI_DataTransfer потоковых данных.
B.6 Функции биометрического датчика подписи
B.6.1 Функция BioSFPI_GetSignatureParameters
BioAPI_RETURN BioAPI BioSFPI_GetSignatureParameters
(BioAPI_UNIT_ID UnitId,
uint32_t *Org_X;
uint32_t *Org_Y;
uint32_t *Org_Z;
uint32_t *Ext_X;
uint32_t *Ext_Y;
uint32_t *Ext_Z;
uint32_t *SampleRate;
uintl6_t *ChannelInclusion;
Boolean *RelativeMode);
Описание
Данная функция используется для извлечения фактических параметров биометрического датчика подписи. Все параметры, которые не поддерживаются модулем BioAPI_Unit или ПФБД, устанавливаются на ноль.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для установки параметров сбора биометрических данных.
Org_X (выходной) - указатель для получения начала оси X.
Org_Y (выходной) - указатель для получения начала оси Y.
Org_Z (выходной) - указатель для получения начала оси Z.
Ext_X (выходной) - указатель для получения протяженности оси X.
Ext_Y (выходной) - указатель для получения протяженности оси Y.
Ext_Z (выходной) - указатель для получения протяженности оси Z.
SampleRate (выходной) - указатель для получения частоты отбора образцов.
ChannelInclusion (выходной) - указатель для получения полей использования каналов из биометрического датчика подписи.
RelativeMode (выходной) - указатель для получения соответствующего режима, используемого биометрическим датчиком подписи.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
B.6.2 Функция BioSFPI_SetSignatureParameters
BioAPI_RETURN BioAPI BioSFPI_SetSignatureParameters
BioAPI_UNIT_ID UnitId,
uint32_t Org_X;
uint32_t Org_Y;
uint32_t Org_Z;
uint32_t End_X;
uint32_t End_Y;
uint32_t End_Z;
uint32_t SampleRate;
uint16_t ChannelInclusion;
Boolean RelativeMode);
Описание
Данная функция используется для установки фактических параметров биометрического датчика подписи. Все параметры, которые не поддерживаются BioAPI_Unit или ПФБД, не будут учтены.
Не существует каких-либо требований, чтобы значение ИД модуля, предоставляемого ПБУ в качестве входного к данной функции, совпадало со значением ИД модуля, который инфраструктура предоставляет ПБУ в исходном вызове функции BioSPI_BSPAttach при условии, что два значения ИД модуля определяют один и тот же модуль BioAPI (8.2.4).
Параметры
UnitId (входной) - ИД модуля BioAPI, к которому обращаются для установки параметров сбора биометрических данных.
Org_X (входной) - устанавливает начало оси X. Если устанавливаемое начало оси X отличается от значения по умолчанию биометрического датчика подписи и новое начало оси X не поддерживается биометрическим датчиком подписи, вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
Org_Y (входной) - устанавливает начало оси Y. Если устанавливаемое начало оси Y отличается от значения по умолчанию биометрического датчика подписи и новое начало оси Y не поддерживается биометрическим датчиком подписи, вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
Org_Z (входной) - устанавливает начало оси Z. Если устанавливаемое начало оси Z отличается от значения по умолчанию биометрического датчика подписи, и новое начало оси Z не поддерживается биометрическим датчиком подписи, вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
Ext_X (входной) - устанавливает протяженность оси X. Если устанавливаемое начало протяженности X отличается от значения по умолчанию биометрического датчика подписи и новое начало протяженности X не поддерживается биометрическим датчиком подписи, то вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
Ext_Y (входной) - устанавливает протяженность оси Y. Если устанавливаемое начало протяженности Y отличается от значения по умолчанию биометрического датчика подписи и новое начало протяженности Y не поддерживается биометрическим датчиком подписи, то вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
Ext_Z (входной) - устанавливает протяженность оси Z. Если устанавливаемая протяженность оси Z отличается от значения по умолчанию биометрического датчика подписи и новое начало протяженности Z не поддерживается биометрическим датчиком подписи, то вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
SampleRate (входной) - устанавливает частоту отбора образцов. Если устанавливаемая частота отбора образцов отличается от значения по умолчанию и новая частота отбора образцов не поддерживается биометрическим датчиком подписи, вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
ChannelInclusion (входной) - устанавливает поле "Наличие каналов" (Channel inclusion). Если устанавливаемое поле "Наличие каналов" (Channel inclusion) отличается от значения по умолчанию и новое поле "Наличие каналов" (Channel inclusion) не поддерживается биометрическим датчиком, вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
RelativeMode (входной) - устанавливает соответствующий режим для использования биометрического датчика подписи. Если устанавливаемый соответствующий режим отличается от значения по умолчанию и новый соответствующий режим не поддерживается биометрическим датчиком подписи, вызов функции будет возвращен с BioAPIERR_FUNCTION_NOT_SUPPORTED.
Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки и успешное выполнение функции. Все остальные значения описывают тип ошибки.
Ошибки
BioAPIERR_FUNCTION_NOT_SUPPORTED
(справочное)
C.1.1 ПФБД поддерживает один из двух методов получения данных от BioAPI_Unit. Первый метод заключается в принятии ББД фиксированной длины, которые передаются сразу же или в пакетах. Второй метод подразумевает использование потоковых данных. Существует три способа, при помощи которых ПБУ может получить данные от биометрического датчика. В любом случае возвращенные данные обозначаются как ББД. Все форматы ББД, которые разрешены ПФБД для возврата, должны быть зарегистрированы в документе ИСО/МЭК СТК 1 ПК 37 СД 9. Зарегистрированные ББД могут быть любого типа данных, включая потоковые данные.
C.1.2 Первый аспект - использование BioSFPI_GetPackets. В данном случае ПБУ распределяет память для инфраструктуры BioAPI_DATA и устанавливает запрашиваемый формат ББД. ПФБД заполняет память ББД и возвращает их в качестве ответа на вызов функции. Память освобождается ПБУ, как только отпадает необходимость в памяти. ПБУ может либо проверить возвращенное содержание памяти на законченность данного ББД, либо, в случае неуверенности, периодически вызывать BioSFPI_GetPackets до тех пор, пока нулевой блок не выявит конец ББД в предыдущем вызове.
C.1.3 Второй аспект - использование ББД нефиксированной длины, состоящий из частей, передаваемых пакетами. Примерами данного метода могут служить биометрический сканер подписи (планшет для подписи) или биометрический сканер отпечатков пальцев. В указанных случаях ПБУ распределяет память для инфраструктуры BioAPI_DATA, устанавливает требуемый формат ББД и вызывает BioSFPI_GetPackets.
Впоследствии функции BioSFPI_GetPackets будут вызываться периодически до тех пор, пока ПФБД не возвратит блок NULL для обозначения конца ББД либо пока ПБУ, приняв достаточное количество пакетов, не примет решение остановиться. Контроль памяти осуществляется ПБУ.
C.1.4 Третий аспект заключается в создании ПБУ потока и передаче идентификационных данных через функцию BioSFPI_DataTransfer в ПФБД. В этом случае ПФБД заполняет идентифицированный поток доступными данными, которые будут асинхронно очищены ПБУ. Указанная форма передачи данных применяется в случаях, когда ПБУ отменяет поток. Данный механизм основывается на потоковой функциональности, которая предоставляется системным интегратором.
C.1.5 Все указанные области взаимодействия могут поддерживать ситуации, при которых биометрический датчик получает данные из модуля, который производит запись реальной деятельности. Если поток данных блокируется, данные о такой деятельности, подлежащие буферизации в ПФБД, будут утеряны.
Примечание - ПФБ может поддерживать множество устройств, и, следовательно, несколько независимых поступлений параметров передачи данных.
C.1.6 Примерами устройств, которые могут использовать указанные механизмы, является ПФД, поддерживающий видеокамеру или перо подписи/написания на планшете (не биометрический пример - движения координационно-указательного устройства (мыши)).
C.1.7 Биометрический датчик будет создавать данные по некоторой ожидаемой скорости (для любого модуля/устройства, которые он поддерживает), возможно, с некоторым средним отклонением изменения от ожидаемой скорости.
C.1.8 BioSFPI_Pause, выпущенная BioSFPI_Play, может быть использована для передачи биометрическому датчику информации о том, что надо прекратить передачу данных (в случае, если указанные функции не поддерживаются ПФД) для определенного модуля. Даже если реальная деятельность для данного модуля продолжает выполняться, она не будет больше записываться таким биометрическим датчиком между вызовом функций BioSFPI_Pause и BioSFPI_Play к такому модулю.
C.1.9 Данные передаются через интерфейс в ПБУ, который использует их многими возможными способами, но в целом сохраняет поддержку их дальнейшей обработки по ожидаемой скорости передачи данных (см. C.4).
C.1.10 Требования для ИПФБД по передаче данных заключаются в том, что он не должен производить блокировку потока данных от модуля через биометрический датчик к ПБУ. Для этого используется любой из механизмов, определенный в C.1.1 - C.1.5.
C.2 Основные принципы интерфейсов передачи данных
Описание не требуется, так как вся механика описана в вызовах функции.
C.3 Управление памятью
C.3.1 Контроль и управление памятью относится к ПБУ. ПБУ получает соответствующую информацию о размерах памяти, которую использует модуль BioAPI_Unit, посредством восстановления параметра UnitPropertySchema после установления сессии присоединения. Распределенная ПБУ память будет передана в ПФБД в вызовах функций BioSFPI_DataTransfer и BioSFPI_GetPackets.
C.3.2 ПФБД использует указанную память в качестве рабочей памяти, при этом производя ББД в начале такой памяти и возвращая размер пакета в параметре вызова функции BioSFPI_GetPackets, либо копирует ББД из рабочей памяти в контролируемый ПБУ блок памяти. Очевидно, что второй способ менее производителен, чем первый.
C.3.3 Очистка памяти после того, как в ней отпала необходимость, относится к задачам ПБУ.
C.4.1 Существуют два типа параметров для функции BioSFPI_UnitImagePropertySchema и BioSFPI_UnitSignaturePropertySchema, которые предоставляют информацию о характеристиках данных биометрических датчиков. Биометрический датчик обеспечивает данной информацией каждый поддерживаемый им модуль.
C.4.2 Существуют 32-битные числа, которые могут быть установлены на ноль для обозначения "Отсутствует значение" (No value available).
C.4.3 К первому типу параметров относятся параметры, предназначенные для оценки скорости передачи данных (EstimatedDataRate, MaxPacketsPerSecond, MaxFramesPerSecond). EstimatedDataRate является предоставляемой BioAPI_Unit оценкой количества килобайтов в секунду, которые производятся модулями в период между активацией и последующей деактивацией указанного интерфейса.
C.4.4 Второй тип параметров - SuggestedMemoryForTransferSize. Определяет число байтов, которые предлагаются ПБУ для размера памяти (предоставляемой ПБУ), которая будет использоваться в функции BioSFPI_GetPackets для передачи пакетов через интерфейс к указанному модулю.
C.4.5 Третий тип параметров - вызов функции BioSFPI_GetPacket или TransferData или установление потока для заданного модуля, описание которого приведено в C.1.
C.5 Опции выполнения для использования интерфейса передачи данных
C.5.1 Если используется функция BioSFPI_GetPackets, существует вероятность того, что ПБУ (не в случае, если был сигнал "Последний пакет" ()) незамедлительно осуществит новый вызов функции BioSFPI_GetPackets к ПФС о заданном модуле.
C.5.2 Вышеописанное может быть выполнено либо путем опустошения пакета от инфраструктуры BioAPI_DATA, либо путем предоставления новой позиции памяти для BioAPI_DATA.
C.5.3 Это обеспечивает ряд стратегий как для ПБУ, так и для ПФС.
C.5.4 Если ПБУ решит распределить память для нескольких пакетов, тогда при возврате от функции BioSFPI_GetPackets он просто изменит указатель для BioAPI_DATA и осуществит следующий вызов функции BioSFPI_GetPackets. Это является наиболее быстрым из возможных ответов функции.
C.5.5 Он может обработать данные в инфраструктуре BioAPI_DATA (до возвращенного параметра PacketLength) и не предпринимать никаких действий по изменению положения BioAPI_DATA до следующего вызова BioSFPI_GetPackets.
C.5.6 ПФД помещает сколько ему необходимо данных (в зависимости от длины в BioAPI_DATA) в соответствующую структуру BioAPI_DATA и возвращает параметр PacketLength.
C.5.7 Любые данные, созданные биометрическим датчиком для заданного модуля в период между возвратом от функции BioSFPI_GetPacket до следующего вызова функции BioSFPI_GetPacket, должны быть либо сохранены в датчике либо отброшены.
C.5.8 Если используется поток, то наблюдается зависимость потока данных от поддержки определенного для платформы механизма.
(справочное)
НАЦИОНАЛЬНЫМ СТАНДАРТАМ РОССИЙСКОЙ ФЕДЕРАЦИИ
Таблица ДА.1
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/prod/gost-r_gosudarstvennyj-standart/36/gost_56681.html
На правах рекламы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||