Partager via


PIBIO_ENGINE_CLEAR_CONTEXT_FN fonction de rappel (winbio_adapter.h)

Appelé par l’infrastructure biométrique Windows pour préparer le pipeline de traitement de l’unité biométrique pour une nouvelle opération. Cette fonction doit vider les données temporaires du contexte du moteur et placer l’adaptateur moteur dans un état initial bien défini.

Syntaxe

PIBIO_ENGINE_CLEAR_CONTEXT_FN PibioEngineClearContextFn;

HRESULT PibioEngineClearContextFn(
  [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
E_POINTER
L’argument Pipeline ne peut pas être NULL.

Remarques

Cet objectif de cette fonction est de réinitialiser le contexte à l’état dans lequel il se trouvait immédiatement après un appel à la fonction EngineAdapterAttach . Le contexte est une structure réutilisable. La fonction EngineAdapterClearContext réinitialise le contexte, mais ne le supprime pas du pipeline.

Voici des exemples typiques des objets de la zone de contexte de l’adaptateur moteur qui doivent être effacés.

Object Description
Ensemble des fonctionnalités Contient une description d’un exemple biométrique
Inscription Suit l’état actuel d’une transaction d’inscription.
Modèle Modèle biométrique créé par l’ensemble de fonctionnalités ou l’objet d’inscription.
Comparaison Contient le résultat d’une comparaison entre le modèle et l’ensemble de fonctionnalités.
Vecteur d’index Contient un ensemble de valeurs d’index associées au modèle.
 

Exemples

Le pseudocode suivant montre une implémentation possible de cette fonction. L’exemple ne se compile pas. Vous devez l’adapter à votre objectif.

//////////////////////////////////////////////////////////////////////////////////////////
//
// EngineAdapterClearContext
//
// Purpose:
//      Prepares the processing pipeline of the biometric unit for a 
//      new operation.
//
// Parameters:
//      Pipeline -  Pointer to a WINBIO_PIPELINE structure associated with 
//                  the biometric unit.
//
static HRESULT
WINAPI
EngineAdapterClearContext(
    __inout PWINBIO_PIPELINE Pipeline
    )
{
    // 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;

    if (context == NULL)
    {
        goto cleanup;
    }

    // Change the engine adapter state and discard any partially completed
    // operations. Depending on the adapter, this can involve changes to state 
    // variables or actions implemented in hardware. The following example
    // assumes that your engine adapter context contains a ULONG data member 
    // and pointers to a feature set and an enrollment object.

    context->SomeField = 0L;

    if (context->FeatureSet != NULL)
    {
        // Zero the feature set if it contains unencrypted biometric data.
        SecureZeroMemory(
            context->FeatureSet,
            context->FeatureSetSize);

        // Release the feature set.
        _AdapterRelease(context->FeatureSet);
        context->FeatureSet = NULL;
        context->FeatureSetSize = 0;
    }

    if (context->Enrollment.Template != NULL)
    {
        // Zero the template if it contains unencrypted biometric data.
        SecureZeroMemory(
            context->Enrollment.Template,
            context->Enrollment.TemplateSize);

        // Release the template.
        _AdapterRelease(context->Enrollment.Template);
        context->Enrollment.Template = NULL;
        context->Enrollment.TemplateSize = 0;

        // Release other data members attached to the enrollment object.
        context->Enrollment.SampleCount = 0;
        context->Enrollment.InProgress = FALSE;
    }

cleanup:

    return S_OK;
}

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)

Voir aussi

Fonctions de plug-in

SensorAdapterClearContext

StorageAdapterClearContext