Freigeben über


WinBioFree-Funktion (winbio.h)

Gibt Arbeitsspeicher frei, der der Clientanwendung durch einen früheren Aufruf einer Windows Biometric Framework-API-Funktion zugewiesen wurde. Ab Windows 10, Build 1607, ist diese Funktion für die Verwendung mit einem mobilen Image verfügbar.

Syntax

HRESULT WinBioFree(
  [in] PVOID Address
);

Parameter

[in] Address

Adresse des zu löschenden Speicherblocks.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie S_OK zurück. Wenn die Funktion fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Rückgabecode Beschreibung
E_POINTER
Der Address-Parameter darf nicht NULL sein.

Hinweise

Mehrere Funktionen in der Windows Biometric Framework-API weisen Arbeitsspeicher für die Clientanwendung zu und übergeben die Adresse dieses Arbeitsspeichers an den Client. Um Speicherverluste zu verhindern, müssen Sie WinBioFree aufrufen, um den Block zu löschen, wenn Sie die darin enthaltenen Informationen verwenden. Sie löschen den Speicher, indem Sie seine Adresse an WinBioFree übergeben. Sie können die Adresse finden, indem Sie den Verweis auf den durch den entsprechenden Parameter angegebenen Zeiger in jeder der folgenden Funktionen aufheben.

Funktion Parameter Typ des zugewiesenen Blocks
WinBioCaptureSample Beispiel Struktur
WinBioEnumBiometricUnits UnitSchemaArray Array von Strukturen
WinBioEnumDatabases StorageSchemaArray Array von Strukturen
WinBioEnumEnrollments SubFactorArray Array mit ganzen Zahlen
WinBioEnumServiceProviders BspSchemaArray Array von Strukturen
EventCallBack Event Struktur
CaptureCallback Beispiel Struktur
 

Beispiele

Die folgende Funktion ruft WinBioEnumBiometricUnits auf, um die installierten biometrischen Sensoren aufzulisten, und sie ruft WinBioFree auf, um den von WinBioEnumBiometricUnits erstellten Speicher freizugeben. Verknüpfen Sie die statische Bibliothek Winbio.lib, und fügen Sie die folgenden Headerdateien ein:

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


Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbio.h (einschließlich Winbio.h)
Bibliothek Winbio.lib
DLL Winbio.dll

Weitere Informationen

WinBioCaptureSample

WinBioEnumBiometricUnits

WinBioEnumDatabases

WinBioEnumEnrollments

WinBioEnumServiceProviders