Поделиться через


функция обратного вызова PIBIO_ENGINE_IDENTIFY_ALL_FN (winbio_adapter.h)

Вызывается биометрической платформой Windows для определения удостоверений всех людей, которые в настоящее время находятся в кадре камеры.

Синтаксис

PIBIO_ENGINE_IDENTIFY_ALL_FN PibioEngineIdentifyAllFn;

HRESULT PibioEngineIdentifyAllFn(
  [in, out] PWINBIO_PIPELINE Pipeline,
  [out]     PSIZE_T PresenceCount,
  [out]     PWINBIO_PRESENCE *PresenceArray
)
{...}

Параметры

[in, out] Pipeline

Указатель на структуру WINBIO_PIPELINE , связанную с биометрической единицей, выполняющей операцию.

[out] PresenceCount

Адрес переменной, которая получает количество присутствий, обнаруженных функцией.

[out] PresenceArray

Адрес переменной, получающей указатель на массив WINBIO_PRESENCE элементов.

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

Если функция выполняется успешно, она возвращает S_OK. Если функция завершается сбоем, она должна вернуть одно из следующих значений HRESULT , чтобы указать на ошибку.

Код возврата Описание
E_some_error
Любой код ошибки приведет к тому, что биометрическая служба регистрирует ошибку и пропускает кадр камеры.

Комментарии

Биометрическая служба вызывает этот метод после отправки нового кадра данных адаптеру подсистемы.

После обработки кадра данных эта функция должна возвращать по одному элементу WINBIO_PRESENCE для каждого обнаруженного присутствия в кадре данных.

В случае, если функция EngineAdapterIdentifyAll не может найти лица в кадре, она возвращает HRESULTS_OK и задает для возвращаемых параметров PresenceCount и PresenceArray равные нулю и NULL соответственно. Другими словами, кадр, который не содержит никаких человеческих присутствий, не является условием ошибки.

Единственный раз, когда EngineAdapterIdentifyAll должен возвращатьHRESULT, отличный от S_OK, — если служба биография не должна использовать кадр для обновления состояния монитора присутствия. Это должно быть редким явлением. Адаптер подсистемы отвечает за выделение массива элементов WINBIO_PRESENCE , возвращаемых в параметре PresenceArray . Эта память должна быть выделена из кучи процесса с помощью функции HeapAlloc . После создания массив становится свойством Биометрической платформы Windows. Так как платформа освобождает эту память после ее использования, адаптер обработчика не должен пытаться освободить массив или сохранить на него указатель. Несоблюдение этого правила приведет к повреждению кучи и возможным сбоям биометрической службы.

Значения отдельных элементов WINBIO_PRESENCE в PresenceArray определяют события, созданные для клиентских приложений. Дополнительные сведения см. в описании структуры WINBIO_PRESENCE .

Требования

Требование Значение
Минимальная версия клиента Windows 10 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Целевая платформа Windows
Header winbio_adapter.h (включая Winbio_adapter.h)