Fungsi WinBioEnumServiceProviders (winbio.h)
Mengambil informasi tentang penyedia layanan biometrik yang diinstal. Dimulai dengan Windows 10, build 1607, fungsi ini tersedia untuk digunakan dengan gambar seluler.
Sintaks
HRESULT WinBioEnumServiceProviders(
[in] WINBIO_BIOMETRIC_TYPE Factor,
[out] WINBIO_BSP_SCHEMA **BspSchemaArray,
[out] SIZE_T *BspCount
);
Parameter
[in] Factor
Bitmask bendera WINBIO_BIOMETRIC_TYPE yang menentukan jenis unit biometrik yang akan dijumlahkan. Hanya WINBIO_TYPE_FINGERPRINT yang saat ini didukung.
[out] BspSchemaArray
Alamat variabel yang menerima pointer ke array struktur WINBIO_BSP_SCHEMA yang berisi informasi tentang setiap penyedia layanan yang tersedia. Jika fungsi tidak berhasil, penunjuk diatur ke NULL. Jika fungsi berhasil, Anda harus meneruskan pointer ke WinBioFree untuk merilis memori yang dialokasikan secara internal untuk array.
[out] BspCount
Penunjuk ke nilai yang menentukan jumlah struktur yang diarahkan oleh parameter BspSchemaArray .
Mengembalikan nilai
Jika fungsi berhasil, fungsi akan mengembalikan S_OK. Jika fungsi gagal, fungsi mengembalikan nilai HRESULT yang menunjukkan kesalahan. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.
Menampilkan kode | Deskripsi |
---|---|
|
Bitmask yang terkandung dalam parameter Factor berisi satu atau beberapa bit jenis yang tidak valid. |
|
Memori tidak cukup untuk menyelesaikan permintaan. |
|
Parameter BspSchemaArray dan BspCount tidak boleh NULL. |
Keterangan
Hanya WINBIO_TYPE_FINGERPRINT yang saat ini didukung dalam parameter Factor .
Setelah Anda selesai menggunakan struktur yang dikembalikan ke parameter BspSchemaArray , Anda harus memanggil WinBioFree untuk merilis memori yang dialokasikan secara internal untuk array.
Jika semua bit faktor dalam bitmask Faktor mengacu pada jenis biometrik yang tidak didukung, fungsi mengembalikan S_OK tetapi nilai yang ditujukan oleh parameter BspSchemaArray adalah NULL dan parameter BspCount akan berisi nol. Meskipun bukan kesalahan untuk menanyakan faktor biometrik yang tidak didukung, hasil kueri akan menjadi set kosong.
Contoh
Contoh kode berikut memanggil WinBioEnumServiceProviders untuk menghitung penyedia layanan yang diinstal. Contohnya juga mencakup fungsi, DisplayGuid, untuk menampilkan ID penyedia. Tautkan ke pustaka statis Winbio.lib dan sertakan file header berikut:
- Windows.h
- Stdio.h
- Conio.h
- Winbio.h
HRESULT EnumSvcProviders( )
{
// Declare variables.
HRESULT hr = S_OK;
PWINBIO_BSP_SCHEMA bspSchemaArray = NULL;
SIZE_T bspCount = 0;
SIZE_T index = 0;
// Enumerate the service providers.
hr = WinBioEnumServiceProviders(
WINBIO_TYPE_FINGERPRINT, // Provider to enumerate
&bspSchemaArray, // Provider schema array
&bspCount ); // Number of schemas returned
if (FAILED(hr))
{
wprintf_s(L"\n WinBioEnumServiceProviders failed. hr = 0x%x\n", hr);
goto e_Exit;
}
// Display the schema information.
wprintf_s(L"\nService providers: \n");
for (index = 0; index < bspCount; ++index)
{
wprintf_s(L"\n[%d]: \tBiometric factor: 0x%08x\n",
index,
bspSchemaArray[index].BiometricFactor );
wprintf_s(L"\tBspId: ");
DisplayGuid(&bspSchemaArray[index].BspId);
wprintf_s(L"\n");
wprintf_s(L"\tDescription: %ws\n",
bspSchemaArray[index].Description);
wprintf_s(L"\tVendor: %ws\n",
bspSchemaArray[index].Vendor );
wprintf_s(L"\tVersion: %d.%d\n",
bspSchemaArray[index].Version.MajorVersion,
bspSchemaArray[index].Version.MinorVersion);
wprintf_s(L"\n");
}
e_Exit:
if (bspSchemaArray != NULL)
{
WinBioFree(bspSchemaArray);
bspSchemaArray = 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]
);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 R2 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winbio.h (termasuk Winbio.h) |
Pustaka | Winbio.lib |
DLL | Winbio.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk