Condividi tramite


Funzione WinBioFree (winbio.h)

Rilascia la memoria allocata per l'applicazione client da una chiamata precedente a una funzione API Di Windows Biometric Framework. A partire da Windows 10, build 1607, questa funzione è disponibile per l'uso con un'immagine per dispositivi mobili.

Sintassi

HRESULT WinBioFree(
  [in] PVOID Address
);

Parametri

[in] Address

Indirizzo del blocco di memoria da eliminare.

Valore restituito

Se la funzione ha esito positivo, restituisce S_OK. Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

Codice restituito Descrizione
E_POINTER
Il parametro Address non può essere NULL.

Commenti

Più funzioni nell'API Windows Biometric Framework allocano memoria per l'applicazione client e passano l'indirizzo di tale memoria al client. Per evitare perdite di memoria, è necessario chiamare WinBioFree per eliminare il blocco al termine dell'uso delle informazioni contenute. La memoria viene eliminata passandone l'indirizzo a WinBioFree. È possibile trovare l'indirizzo de-referenziando il puntatore specificato dal parametro appropriato in ognuna delle funzioni seguenti.

Funzione Parametro Tipo di blocco allocato
WinBioCaptureSample Esempio Struttura
WinBioEnumBiometricUnits UnitSchemaArray Matrice di strutture
WinBioEnumDatabases StorageSchemaArray Matrice di strutture
WinBioEnumEnrollments SubFactorArray Matrice di numeri interi
WinBioEnumServiceProviders BspSchemaArray Matrice di strutture
EventCallBack Event Struttura
CaptureCallback Esempio Struttura
 

Esempio

La funzione seguente chiama WinBioEnumBiometricUnits per enumerare i sensori biometrici installati e chiama WinBioFree per rilasciare la memoria creata da WinBioEnumBiometricUnits. Collegarsi alla libreria statica Winbio.lib e includere i file di intestazione seguenti:

  • 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;
}


Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbio.h (include Winbio.h)
Libreria Winbio.lib
DLL Winbio.dll

Vedi anche

WinBioCaptureSample

WinBioEnumBiometricUnits

WinBioEnumDatabases

WinBioEnumEnrollments

WinBioEnumServiceProviders