Función WinBioFree (winbio.h)
Libera la memoria asignada para la aplicación cliente mediante una llamada anterior a una función de la API de Windows Biometric Framework. A partir de Windows 10, compilación 1607, esta función está disponible para su uso con una imagen móvil.
Sintaxis
HRESULT WinBioFree(
[in] PVOID Address
);
Parámetros
[in] Address
Dirección del bloque de memoria que se va a eliminar.
Valor devuelto
Si la función se realiza correctamente, devuelve S_OK. Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.
Código devuelto | Descripción |
---|---|
|
El parámetro Address no puede ser NULL. |
Comentarios
Varias funciones de la API de Windows Biometric Framework asignan memoria para la aplicación cliente y pasan la dirección de esa memoria al cliente. Para evitar pérdidas de memoria, debe llamar a WinBioFree para eliminar el bloque cuando haya terminado de usar la información que contiene. Para eliminar la memoria, pase su dirección a WinBioFree. Puede encontrar la dirección desreferenciando el puntero especificado por el parámetro adecuado en cada una de las funciones siguientes.
Función | Parámetro | Tipo de bloque asignado |
---|---|---|
WinBioCaptureSample | Ejemplo | Estructura |
WinBioEnumBiometricUnits | UnitSchemaArray | Matriz de estructuras |
WinBioEnumDatabases | StorageSchemaArray | Matriz de estructuras |
WinBioEnumEnrollments | SubFactorArray | Matriz de enteros |
WinBioEnumServiceProviders | BspSchemaArray | Matriz de estructuras |
EventCallBack | Evento | Estructura |
CaptureCallback | Ejemplo | Estructura |
Ejemplos
La siguiente función llama a WinBioEnumBiometricUnits para enumerar los sensores biométricos instalados y llama a WinBioFree para liberar la memoria creada por WinBioEnumBiometricUnits. Vincule a la biblioteca estática Winbio.lib e incluya los siguientes archivos de encabezado:
- 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;
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winbio.h (incluye Winbio.h) |
Library | Winbio.lib |
Archivo DLL | Winbio.dll |