WinBioEnumDatabases-Funktion (winbio.h)
Listet alle registrierten Datenbanken auf, die einem angegebenen Typ entsprechen.
Syntax
HRESULT WinBioEnumDatabases(
[in] WINBIO_BIOMETRIC_TYPE Factor,
[out] WINBIO_STORAGE_SCHEMA **StorageSchemaArray,
[out] SIZE_T *StorageCount
);
Parameter
[in] Factor
Eine Bitmaske von WINBIO_BIOMETRIC_TYPE Flags, die die zu aufzählenden biometrischen Einheitentypen angibt. Nur WINBIO_TYPE_FINGERPRINT wird derzeit unterstützt.
[out] StorageSchemaArray
Adresse einer Variablen, die einen Zeiger auf ein Array von WINBIO_STORAGE_SCHEMA Strukturen empfängt, die Informationen zu jeder Datenbank enthalten. Wenn die Funktion nicht erfolgreich ist, wird der Zeiger auf NULL festgelegt. Wenn die Funktion erfolgreich ist, müssen Sie den Zeiger an WinBioFree übergeben, um den intern für das Array zugewiesenen Arbeitsspeicher freizugeben.
[out] StorageCount
Zeiger auf einen Wert, der die Anzahl von Strukturen angibt, auf die vom Parameter StorageSchemaArray verwiesen wird.
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 |
---|---|
|
Die im Factor-Parameter enthaltene Bitmaske enthält mindestens ein ungültiges Bit vom Typ. |
|
Es war nicht genügend Arbeitsspeicher vorhanden, um die Anforderung abzuschließen. |
|
Die Parameter StorageSchemaArray und StorageCount dürfen nicht NULL sein. |
Hinweise
Nur WINBIO_TYPE_FINGERPRINT wird derzeit im Factor-Parameter unterstützt.
Wenn Informationen zu mehreren Datenbanken in dem Array von Strukturen zurückgegeben werden, auf das der Parameter StorageSchemaArray verweist, ist nicht garantiert, dass sich die Datenbanken in einer bestimmten Reihenfolge befinden.
Nachdem Sie die Verwendung der an den Parameter StorageSchemaArray zurückgegebenen Strukturen abgeschlossen haben, müssen Sie WinBioFree aufrufen, um den intern für das Array zugewiesenen Arbeitsspeicher freizugeben.
Beispiele
Im folgenden Codebeispiel wird WinBioEnumDatabases aufgerufen, um die biometrischen Datenbanken im System aufzulisten. Das Beispiel enthält auch die Funktion DisplayGuid zum Anzeigen der Datenbank-ID. 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 EnumDatabases( )
{
// Declare variables.
HRESULT hr = S_OK;
PWINBIO_STORAGE_SCHEMA storageSchemaArray = NULL;
SIZE_T storageCount = 0;
SIZE_T index = 0;
// Enumerate the databases.
hr = WinBioEnumDatabases(
WINBIO_TYPE_FINGERPRINT, // Type of biometric unit
&storageSchemaArray, // Array of database schemas
&storageCount ); // Number of database schemas
if (FAILED(hr))
{
wprintf_s(L"\nWinBioEnumDatabases failed. hr = 0x%x\n", hr);
goto e_Exit;
}
// Display information for each database.
wprintf_s(L"\nDatabases:\n");
for (index = 0; index < storageCount; ++index)
{
wprintf_s(L"\n[%d]: \tBiometric factor: 0x%08x\n",
index,
storageSchemaArray[index].BiometricFactor );
wprintf_s(L"\tDatabase ID: ");
DisplayGuid(&storageSchemaArray[index].DatabaseId);
wprintf_s(L"\n");
wprintf_s(L"\tData format: ");
DisplayGuid(&storageSchemaArray[index].DataFormat);
wprintf_s(L"\n");
wprintf_s(L"\tAttributes: 0x%08x\n",
storageSchemaArray[index].Attributes);
wprintf_s(L"\tFile path: %ws\n",
storageSchemaArray[index].FilePath );
wprintf_s(L"\tCnx string: %ws\n",
storageSchemaArray[index].ConnectionString );
wprintf_s(L"\n");
}
e_Exit:
if (storageSchemaArray != NULL)
{
WinBioFree(storageSchemaArray);
storageSchemaArray = NULL;
}
wprintf_s(L"\nPress any key to exit...");
_getch();
return hr;
}
//------------------------------------------------------------------------
// The following function displays a GUID to the console window.
//
VOID DisplayGuid( __in PWINBIO_UUID Guid )
{
wprintf_s(
L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
Guid->Data1,
Guid->Data2,
Guid->Data3,
Guid->Data4[0],
Guid->Data4[1],
Guid->Data4[2],
Guid->Data4[3],
Guid->Data4[4],
Guid->Data4[5],
Guid->Data4[6],
Guid->Data4[7]
);
}
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 |