Compartir a través de


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 biométrica de Windows. A partir de Windows 10, compilación 1607, esta función está disponible para usarla con una imagen móvil.

Syntax

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 ejecuta 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, entre otros, los de la tabla siguiente. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código de retorno Description
E_POINTER
El parámetro Address no puede ser NULL.

Observaciones

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 Event Estructura
CaptureCallback Ejemplo Estructura
 

Examples

La función siguiente 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

Requirement Importancia
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2008 R2 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header winbio.h (incluya Winbio.h)
Library Winbio.lib
DLL de Winbio.dll

Consulte también

WinBioCaptureSample

WinBioEnumBiometricUnits

WinBioEnumDatabases

WinBioEnumEnrollments

WinBioEnumServiceProviders