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

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

     8.1.11 Функция BioAPI_QueryBFPs

BioAPI_RETURN BioAPI BioAPI_QueryBFPs

(const BioAPI_UUID *BSPUuid,

BioAPI_BFP_LIST_ELEMENT **BFPList,

uint32_t *NumberOfElements);

8.1.11.1 Описание

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

a) определяет число установленных ПБФ, поддерживаемых данным ПБУ;

b) выделяет область памяти, достаточную для размещения массива элементов типа BioAPI_BFP_LIST_ELEMENT с числом элементов ПБФ, определенным в перечислении а);

c) заполняет массив идентификационной информацией (категория и УУИД) о ПБФ, определенных в перечислении а);

d) возвращает адрес массива в параметре BFPList и число элементов массива в параметре NumberOfElements.

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


Дополнительная информация о поддерживаемых ПБФ может быть получена путем вызова функции BioAPI_EnumBFPs и анализом параметра BFPSchemaArray по соответствующим BfpUuids.

Данная функция может быть вызвана только после вызова функции BioAPI_Load для специального ПБУ и не может быть вызвана после вызова функции BioAPI_Unload для ПБУ.

Область памяти, содержащая массив, должна быть освобождена приложением путем вызова функции BioAPI_Free (см. 8.7.2) в том случае, если приложение больше не использует элементы массива.

8.1.11.2 Параметры

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

BFPList (выходной) - указатель на массив элементов типа BioAPI_BFP_LIST_ELEMENT (распределенный ПБУ, см. примечание выше) и буфер, содержащий идентификационную информацию о ПБФ.

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

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

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

8.1.11.4 Ошибки

BioAPIERR_INVALID_BSP_HANDLE

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