PIBIO_ENGINE_CLEAR_CONTEXT_FN funzione di callback (winbio_adapter.h)
Chiamato da Windows Biometric Framework per preparare la pipeline di elaborazione dell'unità biometrica per una nuova operazione. Questa funzione deve scaricare dati temporanei dal contesto del motore e posizionare l'adattatore motore in uno stato iniziale ben definito.
Sintassi
PIBIO_ENGINE_CLEAR_CONTEXT_FN PibioEngineClearContextFn;
HRESULT PibioEngineClearContextFn(
[in, out] PWINBIO_PIPELINE Pipeline
)
{...}
Parametri
[in, out] Pipeline
Puntatore a una struttura WINBIO_PIPELINE associata all'unità biometrica che esegue l'operazione.
Valore restituito
Se la funzione ha esito positivo, restituisce S_OK. Se la funzione ha esito negativo, deve restituire uno dei valori HRESULT seguenti per indicare l'errore.
Codice restituito | Descrizione |
---|---|
|
L'argomento Pipeline non può essere NULL. |
Commenti
Questo scopo di questa funzione consiste nel reimpostare il contesto sullo stato in cui si trovava immediatamente dopo una chiamata alla funzione EngineAdapterAttach . Il contesto è una struttura riutilizzabile. La funzione EngineAdapterClearContext reinizializza il contesto ma non la rimuove dalla pipeline.
Gli esempi tipici degli oggetti nell'area di contesto dell'adattatore motore che devono essere cancellati includono quanto segue.
Oggetto | Descrizione |
---|---|
Set di funzionalità | Contiene una descrizione di un campione biometrico |
Registrazione | Tiene traccia dello stato corrente di una transazione di registrazione. |
Modello | Modello biometrico creato dal set di funzionalità o dall'oggetto di registrazione. |
Confronto | Contiene il risultato di un confronto tra il modello e il set di funzionalità. |
Vettore di indice | Contiene un set di valori di indice associati al modello. |
Esempio
Lo pseudocodice seguente mostra una possibile implementazione di questa funzione. L'esempio non viene compilato. Devi adattarla al tuo scopo.
//////////////////////////////////////////////////////////////////////////////////////////
//
// 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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbio_adapter.h (includere Winbio_adapter.h) |