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

Consulte también

WinBioCaptureSample

WinBioEnumBiometricUnits

WinBioEnumDatabases

WinBioEnumEnrollments

WinBioEnumServiceProviders