Fungsi WinBioEnumBiometricUnits (winbio.h)
Menghitung semua unit biometrik terpasang yang cocok dengan jenis input.
Sintaks
HRESULT WinBioEnumBiometricUnits(
[in] WINBIO_BIOMETRIC_TYPE Factor,
[out] WINBIO_UNIT_SCHEMA **UnitSchemaArray,
[out] SIZE_T *UnitCount
);
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] UnitSchemaArray
Alamat variabel yang menerima penunjuk ke array struktur WINBIO_UNIT_SCHEMA yang berisi informasi tentang setiap unit biometrik yang dijumlahkan. 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] UnitCount
Penunjuk ke nilai yang menentukan jumlah struktur yang diarahkan oleh parameter UnitSchemaArray .
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 UnitSchemaArray dan UnitCount tidak boleh NULL. |
|
Kebijakan administratif saat ini melarang penggunaan WINDOWS Biometric Framework API. |
Keterangan
Hanya WINBIO_TYPE_FINGERPRINT yang saat ini didukung dalam parameter Factor .
Jika informasi tentang beberapa unit biometrik yang diinstal dikembalikan dalam array struktur yang diarahkan oleh parameter UnitSchemaArray , unit tidak dijamin berada dalam urutan tertentu.
Setelah Anda selesai menggunakan struktur yang dikembalikan ke parameter UnitSchemaArray , 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 diarahkan oleh parameter UnitSchemaArray adalah NULL dan parameter UnitCount akan berisi nol. Meskipun bukan kesalahan untuk menanyakan faktor biometrik yang tidak didukung, hasil kueri akan menjadi set kosong.
Contoh
Fungsi berikut memanggil WinBioEnumBiometricUnits untuk menghitung unit biometrik yang diinstal. Tautkan ke pustaka statis Winbio.lib dan sertakan file header berikut:
- Windows.h
- Stdio.h
- Conio.h
- Winbio.h
HRESULT EnumerateSensors( )
{
// Declare variables.
HRESULT hr = S_OK;
PWINBIO_UNIT_SCHEMA unitSchema = NULL;
SIZE_T unitCount = 0;
SIZE_T index = 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"\n WinBioEnumBiometricUnits failed. hr = 0x%x\n", hr);
goto e_Exit;
}
// Display information for each installed biometric unit.
wprintf_s(L"\nSensors: \n");
for (index = 0; index < unitCount; ++index)
{
wprintf_s(L"\n[%d]: \tUnit ID: %d\n",
index,
unitSchema[index].UnitId );
wprintf_s(L"\tDevice instance ID: %s\n",
unitSchema[index].DeviceInstanceId );
wprintf_s(L"\tPool type: %d\n",
unitSchema[index].PoolType );
wprintf_s(L"\tBiometric factor: %d\n",
unitSchema[index].BiometricFactor );
wprintf_s(L"\tSensor subtype: %d\n",
unitSchema[index].SensorSubType );
wprintf_s(L"\tSensor capabilities: 0x%08x\n",
unitSchema[index].Capabilities );
wprintf_s(L"\tDescription: %s\n",
unitSchema[index].Description );
wprintf_s(L"\tManufacturer: %s\n",
unitSchema[index].Manufacturer );
wprintf_s(L"\tModel: %s\n",
unitSchema[index].Model );
wprintf_s(L"\tSerial no: %s\n",
unitSchema[index].SerialNumber );
wprintf_s(L"\tFirmware version: [%d.%d]\n",
unitSchema[index].FirmwareVersion.MajorVersion,
unitSchema[index].FirmwareVersion.MinorVersion);
}
e_Exit:
if (unitSchema != NULL)
{
WinBioFree(unitSchema);
unitSchema = NULL;
}
wprintf_s(L"\nPress any key to exit...");
_getch();
return hr;
}
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