Partager via


WinBioFree, fonction (winbio.h)

Libère la mémoire allouée à l’application cliente par un appel antérieur à une fonction d’API Du framework biométrique Windows. À compter de Windows 10, build 1607, cette fonction peut être utilisée avec une image mobile.

Syntaxe

HRESULT WinBioFree(
  [in] PVOID Address
);

Paramètres

[in] Address

Adresse du bloc de mémoire à supprimer.

Valeur retournée

Si la fonction réussit, elle retourne S_OK. Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code de retour Description
E_POINTER
Le paramètre Address ne peut pas être NULL.

Remarques

Plusieurs fonctions de l’API Infrastructure biométrique Windows allouent de la mémoire à l’application cliente et passent l’adresse de cette mémoire au client. Pour éviter les fuites de mémoire, vous devez appeler WinBioFree pour supprimer le bloc lorsque vous avez terminé d’utiliser les informations qu’il contient. Vous supprimez la mémoire en passant son adresse à WinBioFree. Vous pouvez trouver l’adresse en déréférencement du pointeur spécifié par le paramètre approprié dans chacune des fonctions suivantes.

Fonction Paramètre Type de bloc alloué
WinBioCaptureSample Exemple Structure
WinBioEnumBiometricUnits UnitSchemaArray Tableau de structures
WinBioEnumDatabases StorageSchemaArray Tableau de structures
WinBioEnumEnrollments SubFactorArray Tableau d’entiers
WinBioEnumServiceProviders BspSchemaArray Tableau de structures
EventCallBack Event Structure
CaptureCallback Exemple Structure
 

Exemples

La fonction suivante appelle WinBioEnumBiometricUnits pour énumérer les capteurs biométriques installés, et elle appelle WinBioFree pour libérer la mémoire créée par WinBioEnumBiometricUnits. Créez un lien vers la bibliothèque statique Winbio.lib et incluez les fichiers d’en-tête suivants :

  • Windows.h
  • Stdio.h
  • Conio.h
  • Winbio.h
HRESULT EnumerateSensors( )
{
    HRESULT hr = S_OK;
    PWINBIO_UNIT_SCHEMA unitSchema = NULL;
    SIZE_T unitCount = 0;

    // Enumerate the installed biometric units.
    hr = WinBioEnumBiometricUnits( 
            WINBIO_TYPE_FINGERPRINT,        // Type of biometric unit
            &unitSchema,                    // Array of unit schemas
            &unitCount );                   // Count of unit schemas

    if (FAILED(hr))
    {
        wprintf_s(L"\nWinBioEnumBiometricUnits failed. hr = 0x%x\n", hr);
        goto e_Exit;
    }

e_Exit:

    // Free memory.
    if (unitSchema != NULL)
    {
        WinBioFree(unitSchema);
        unitSchema = NULL;
    }

    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.h (inclure Winbio.h)
Bibliothèque Winbio.lib
DLL Winbio.dll

Voir aussi

WinBioCaptureSample

WinBioEnumBiometricUnits

WinBioEnumDatabases

WinBioEnumEnrollments

WinBioEnumServiceProviders