PIBIO_STORAGE_DETACH_FN fonction de rappel (winbio_adapter.h)
Appelé par l’infrastructure biométrique Windows immédiatement avant la suppression d’une carte de stockage du pipeline de traitement de l’unité biométrique. L’objectif de cette fonction est de libérer les ressources spécifiques à l’adaptateur attachées au pipeline.
Syntaxe
PIBIO_STORAGE_DETACH_FN PibioStorageDetachFn;
HRESULT PibioStorageDetachFn(
[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. |
|
Le champ StorageContext de la structure WINBIO_PIPELINE ne peut pas être NULL. |
Remarques
Pour éviter les fuites de mémoire, votre implémentation de la fonction StorageAdapterDetach doit libérer la structure de WINBIO_STORAGE_CONTEXT privée pointée par le membre StorageContext du pipeline, ainsi que toutes les autres ressources attachées au contexte de stockage.
Si le champ StorageContext dans l’objet pipeline a la valeur NULL lorsque cette fonction est appelée, le pipeline n’a pas été correctement initialisé et vous devez retourner WINBIO_E_INVALID_DEVICE_STATE pour informer l’infrastructure biométrique Windows du problème.
Avant de retourner S_OK, cette fonction doit définir le champ StorageContext de la structure WINBIO_PIPELINE sur NULL et le champ StorageHandle sur INVALID_HANDLE_VALUE.
Exemples
Le pseudocode suivant montre une implémentation possible de cette fonction. L’exemple ne se compile pas. Vous devez l’adapter à votre objectif.
/////////////////////////////////////////////////////////////////////////////////////////
//
// StorageAdapterDetach
//
// Purpose:
// Release adapter specific resources attached to the pipeline.
//
// Parameters:
// Pipeline - Pointer to a WINBIO_PIPELINE structure associated with
// the biometric unit performing the operation.
//
static HRESULT
WINAPI
StorageAdapterDetach(
__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_STORAGE_CONTEXT storageContext =
(PWINBIO_STORAGE_CONTEXT)Pipeline->StorageContext;
// Verify the pipeline state.
if (storageContext == NULL)
{
// The pipeline state is not valid. This function should never
// be called if the storage context in the pipeline is already
// closed.
hr = WINBIO_E_INVALID_DEVICE_STATE;
goto cleanup;
}
// Release any structures attached to the context block.
StorageAdapterClearContext(Pipeline);
// Close the database.
StorageAdapterCloseDatabase(Pipeline);
// Remove the context from the pipeline.
Pipeline->StorageContext = NULL;
Pipeline->StorageHandle = INVALID_HANDLE_VALUE;
// Clear the result set. Depending on your implementation, this action
// can be performed by the StorageAdapterClearContext function called
// earlier.
ResultSetCleanup(&storageContext->ResultSet);
// Release the adapter context.
_AdapterRelease( storageContext );
storageContext = NULL;
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) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour