PIBIO_ENGINE_CREATE_ENROLLMENT_FN fonction de rappel (winbio_adapter.h)
Appelé par l’infrastructure biométrique Windows pour initialiser l’objet d’inscription dans le pipeline d’unités biométriques.
Syntaxe
PIBIO_ENGINE_CREATE_ENROLLMENT_FN PibioEngineCreateEnrollmentFn;
HRESULT PibioEngineCreateEnrollmentFn(
[in, out] PWINBIO_PIPELINE Pipeline
)
{...}
Paramètres
[in, out] Pipeline
Pointeur vers une structure WINBIO_PIPELINE associée à l’unité biométrique qui effectue l’opération.
Valeur retournée
Si la fonction réussit, elle retourne S_OK. Si la fonction échoue, elle doit retourner l’une des valeurs HRESULT suivantes pour indiquer l’erreur.
Code de retour | Description |
---|---|
|
Le paramètre Pipeline ne peut pas avoir la valeur NULL. |
|
La mémoire disponible est insuffisante pour terminer cette opération. |
Remarques
EngineAdapterCommitEnrollment marque le début d’une transaction d’inscription. Si cette fonction réussit, l’infrastructure biométrique Windows appelle EngineAdapterUpdateEnrollment pour ajouter un ou plusieurs ensembles de fonctionnalités à l’objet d’inscription. Le framework appelle ensuite EngineAdapterCommitEnrollment ou EngineAdapterDiscardEnrollment pour terminer la transaction.
Exemples
Le pseudocode suivant montre une implémentation possible de cette fonction. L’exemple ne se compile pas. Vous devez l’adapter à votre objectif.
//////////////////////////////////////////////////////////////////////////////////////////
//
// EngineAdapterCreateEnrollment
//
// Purpose:
// Initialize the enrollment object in the biometric unit pipeline.
//
// Parameters:
// Pipeline - Pointer to a WINBIO_PIPELINE structure associated
// with the biometric unit performing the operation
//
static HRESULT
WINAPI
EngineAdapterCreateEnrollment(
__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 already in progress. This example assumes that
// your engine adapter context contains an enrollment object.
if (context->Enrollment.InProgress == TRUE)
{
hr = WINBIO_E_INVALID_DEVICE_STATE;
goto cleanup;
}
// Call a custom function (_AdapterCreateEnrollmentTemplate) to create a
// new enrollment template and attach it to the engine adapter context.
hr = _AdapterCreateEnrollmentTemplate(
context,
&context->Enrollment
);
if (FAILED(hr))
{
goto cleanup;
}
// Initialize any Enrollment data members not initialized by the
// _AdapterCreateEnrollmentTemplate function. This example assumes that
// your enrollment object contains at a minimum a field that specifies
// the number of biometric samples and another that specifies whether a
// new enrollment is in progress.
context->Enrollment.SampleCount = 0;
context->Enrollment.InProgress = TRUE;
cleanup:
return hr;
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winbio_adapter.h (include Winbio_adapter.h) |