ГОСТ Р ИСО/МЭК19784-1—2007
БиоАПИ и поэтому не открыта приложению. И наоборот. ПБУ может использовать данную функцию
для получения той же информации, которую приложение может получить путем вызова функции
BioAPI_EnumBFPs.
Адресобратного вызова BioSPI_BFP_ENUMERATION_HANDLER инфраструктура предоставляет ПБУ
в виде входного параметра функции BioSPI_BSPLoad.
9.2.2.1 Определения
typedefBioAPI_RETURN (*BioSPI_BFP_ENUMERATION_HANDLER)
(BioAPI_BFP_SCHEMA “ BFPSchemaArray.
uint32_t ’ NumberOfElements):
Функция обратноговызова предоставляет информацию о всех ПБФ. установленных в реестре компо
нентов. Функция выполняетдействия в следующем порядке:
a) выделяет область памяти, достаточнуюдля размещения массива элементов типа
BioAPI_BFP_SCHEMA с числом элементов, равным числу установленных ПБФ;
b
)заполняет массив схемами всех установленных ПБФ;
c) возвращает адрес массива в параметре BFPSchemaArray и числоэлементов массива в параметре
NumberOfElements.
Область памяти, содержащая массив, должна бытьосвобождена с помощью ПБУ путем обратного
вызова обработчика освобождения памяти инфраструктуры (см. 9.2.3) в том случае, если данный блок
памяти в дальнейшем не будет использоваться ПБУ.
Область памяти, на которой указывают параметры Path и BFPProperty. в пределах каждого элемента
массива, должна быть также освобождена с помощью ПБУ путем обратного вызова обработчика освобож
дения памяти инфраструктуры (см. 9.2.3), если приложение вдальнейшем не будет их использовать.
3.2.2.2 Параметры
BFPSchemaArray (выходной) — указатель на адрес массива элементов типа BioAPI_BFP_SCHEMA
(распределенного инфраструктурой), содержащего информацию о схемах ПБФ.
NumberOfElements (выходной) — указатель на число элементов массива или число схем ПБФ в
реестре компонентов.
9.2.2.3 Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки.
Значение ВюАР1_ОК указывает на успешное выполнение функции. Все остальные значения описывают
типошибки.
9.2.2.4 Ошибки
Данные об обработке ошибок БиоАПИ приведены в разделе 11.
9.2.3 BioSPI_MEMORY_FREE_HANDLER
Данную функцию также называют обработчиком освобождения памяти. Она представляет собой об
ратный вызов, который инфраструктура БиоАПИ открывает для ПБУ. давая ему возможность вызвать
функцию освобождения памяти, которая была выделена инфраструктурой для возвращения данных ПБУ
во время приоритетного обратного вызова. Подобное распределение памяти происходит в тот момент,
когда ПБУ вызывает обработчик перечислений ПБФ (см. 9.2.2). Функция освобождения памяти аналогична
функции БиоАПИ BioAPI_Free (см. 8.7.2). но отличается от нее тем. что не является частью ПИП БиоАПИ и
поэтому недоступна приложению.
Адресобратного вызова BioSPI_MEMORY_FREE_HANDLER предоставляется ПБУ инфраструктурой
как входной параметр функции BioSPI_BSPLoad.
9.2.3.1 Определения
typedefBioAPI_RETURN (*BioSPI_MEMORY_FREE_HANDLER)
(void* Ptr):
Данный обратный вызов производит освобождение той области памяти, на которую указывает пара
метр Ptr. Если Ptr пустой, никакогодействия не происходит. Однако, если Ptrне соответствует указателю,
ранее возвращенному с помощью обратного вызова, или если область памяти уже была освобождена
ранее путем вызова обработчика освобождения памяти, поведение функции не определено.
П р и м е ч а н и е — В отличие от функции BioAPIFree никакие запросы обработчика освобождения памяти
не приводят к вызову функции BioSPI_Free.
9.2.3.2 Параметры
Ptr(входной) — указатель на область памяти, которая должна быть освобождена.
65