Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 19784-1-2007 Автоматическая идентификация. Идентификация биометрическая. Биометрический программный интерфейс. Часть 1. Спецификация биометрического программного интерфейса (с Изменением N 1)

     8.1.9 Функция BioAPI_QueryUnits

BioAPI_RETURN BioAPI BioAPI_QueryUnits

(const BioAPI_UUID *BSPUuid,

BioAPI_UNIT_SCHEMA **UnitSchemaArray,

uint32_t *NumberOfElements);

8.1.9.1 Описание

Данная функция предоставляет информацию обо всех модулях БиоАПИ, которые непосредственно или косвенно управляются ПБУ, идентифицированных предоставляемым УУИД ПБУ и присутствующих в системе. Функция выполняет действия в следующем порядке:

a) устанавливает число модулей БиоАПИ, которые будут управляться непосредственно или косвенно данным ПБУ;

b) выделяет блок памяти, достаточный для размещения массива элементов типа BioAPI_UNIT_SCHEMA с числом элементов, равным числу модулей БиоАПИ, определенному в перечислении а);

c) заполняет массив схемами всех модулей БиоАПИ, определенных в перечислении а);

d) возвращает адрес массива в параметре UnitSchemaArray и размер массива в параметре NumberOfElements.

Примечание - Когда инфраструктура вызывает функцию ПБУ BioSPI_QueryUnits, ПБУ выделяет память для данных, которые должны быть возвращены инфраструктуре. В некоторых реализациях архитектуры инфраструктура передает данные приложению в точности о том, как возвращено ПБУ, так как приложение интерпретирует адрес так же, как и ПБУ, и сможет получить доступ к данным, которые размещены по этому адресу. В других реализациях архитектуры инфраструктура должна переместить все данные, возвращенные ПБУ, во вновь выделенный блок памяти, доступный приложению, и вызвать функцию BioSPI_Free после копирования каждого блока памяти, но перед возвращением вызова BioAPI_QueryUnits. В первом случае, когда приложение вызывает функцию BioAPI_Free, инфраструктура делает соответствующий вызов BioSPI_Free. Во втором случае вызов BioAPI_Free обрабатывается самой инфраструктурой. Однако особенности данных реализаций инфраструктуры не видны приложению.


Блок памяти, содержащий массив, должен быть освобожден приложением путем вызова функции BioAPI_Free (см. 8.7.2), если он больше не нужен приложению. Блок памяти, на который ссылаются элементы UnitProperties в пределах каждого элемента массива, должен также быть освобожден приложением путем вызова функции BioAPI_Free, если он больше не нужен приложению. Данная функция может быть вызвана только после вызова функции BioAPI_Load для ПБУ и не может быть вызвана после вызова функции BioAPI_Unload для ПБУ.

8.1.9.2 Параметры

BSPUuid (входной) - УУИД ПБУ, на который должна быть возвращена информация о модуле.

UnitSchemaArray (выходной) - указатель на массив элементов типа BioAPI_UNIT_SCHEMA (распределенный ПБУ, см. примечание к 8.1.9.1), содержащий информацию о схемах модуля.

NumberOfElements (выходной) - указатель на число элементов массива.

8.1.9.3 Возвращаемое значение

Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки. Значение BioAPI_OK указывает на отсутствие ошибки. Все остальные значения описывают тип ошибки.

8.1.9.4 Ошибки

BioAPIERR _BSP_NOT_LOADED

BioAPIERR_INVALID_UUID


Данные об обработке ошибок БиоАПИ приведены в разделе 11.