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 |
---|---|
|
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 |