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.