функция обратного вызова PIBIO_ENGINE_DISCARD_ENROLLMENT_FN (winbio_adapter.h)
Вызывается Windows Biometric Framework для удаления промежуточных сведений о состоянии регистрации из конвейера.
Синтаксис
PIBIO_ENGINE_DISCARD_ENROLLMENT_FN PibioEngineDiscardEnrollmentFn;
HRESULT PibioEngineDiscardEnrollmentFn(
[in, out] PWINBIO_PIPELINE Pipeline
)
{...}
Параметры
[in, out] Pipeline
Указатель на WINBIO_PIPELINE структуру, связанную с биометрической единицей, выполняющей операцию.
Возвращаемое значение
Если функция завершается успешно, она возвращает S_OK. Если функция завершается сбоем, она должна вернуть следующее значение HRESULT , чтобы указать на ошибку.
Код возврата | Описание |
---|---|
|
Параметр Pipeline не может иметь значение NULL. |
Комментарии
Реализация этой функции не должна сохранять информацию в базе данных биометрических единиц.
Примеры
В следующем псевдокоде показана одна из возможных реализаций этой функции. Пример не компилируется. Вы должны адаптировать его в соответствии с вашей целью.
//////////////////////////////////////////////////////////////////////////////////////////
//
// EngineAdapterDiscardEnrollment
//
// Purpose:
// Deletes intermediate enrollment state information from the pipeline.
//
// Parameters:
// Pipeline - Pointer to a WINBIO_PIPELINE structure associated
// with the biometric unit performing the operation
//
static HRESULT
WINAPI
EngineAdapterDiscardEnrollment(
__inout PWINBIO_PIPELINE Pipeline
)
{
HRESULT hr = S_OK;
// Verify that the Pipeline parameter is not NULL.
if (!ARGUMENT_PRESENT(Pipeline))
{
hr = E_POINTER;
goto cleanup;
}
// Retrieve the context from the pipeline.
PWINBIO_ENGINE_CONTEXT context =
(PWINBIO_ENGINE_CONTEXT)Pipeline->EngineContext;
// Return if an enrollment is not in progress. This example assumes that
// an enrollment object is part of your engine context structure.
if (context->Enrollment.InProgress != TRUE)
{
hr = WINBIO_E_INVALID_DEVICE_STATE;
goto cleanup;
}
// Call a custom function (_AdapterDestroyEnrollmentTemplate) to release
// any objects attached to the enrollment object.
_AdapterDestroyEnrollmentTemplate(
context,
&context->Enrollment
);
// If the _AdapterDestroyEnrollmentTemplate function does not reset the
// InProgress data member, reset it here.
context->Enrollment.InProgress = FALSE;
cleanup:
return hr;
}
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | winbio_adapter.h (включая Winbio_adapter.h) |