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