Fungsi WinBioFree (winbio.h)

Merilis memori yang dialokasikan untuk aplikasi klien dengan panggilan sebelumnya ke fungsi Windows Biometric Framework API. Dimulai dengan Windows 10, build 1607, fungsi ini tersedia untuk digunakan dengan gambar seluler.

Sintaks

HRESULT WinBioFree(
  [in] PVOID Address
);

Parameter

[in] Address

Alamat blok memori yang akan dihapus.

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
E_POINTER
Parameter Alamat tidak boleh NULL.

Keterangan

Beberapa fungsi dalam WINDOWS Biometric Framework API mengalokasikan memori untuk aplikasi klien dan meneruskan alamat memori tersebut ke klien. Untuk mencegah kebocoran memori, Anda harus memanggil WinBioFree untuk menghapus blok ketika Anda selesai menggunakan informasi yang dikandungnya. Anda menghapus memori dengan meneruskan alamatnya ke WinBioFree. Anda dapat menemukan alamat dengan membatalkan referensi pointer yang ditentukan oleh parameter yang sesuai di setiap fungsi berikut.

Fungsi Parameter Jenis blok yang dialokasikan
WinBioCaptureSample Sampel Struktur
WinBioEnumBiometricUnits UnitSchemaArray Array struktur
WinBioEnumDatabases StorageSchemaArray Array struktur
WinBioEnumEnrollments SubFactorArray Larik bilangan bulat
WinBioEnumServiceProviders BspSchemaArray Array struktur
EventCallBack Kejadian Struktur
CaptureCallback Sampel Struktur
 

Contoh

Fungsi berikut memanggil WinBioEnumBiometricUnits untuk menghitung sensor biometrik yang diinstal, dan memanggil WinBioFree untuk merilis memori yang dibuat oleh WinBioEnumBiometricUnits. Tautkan ke pustaka statis Winbio.lib dan sertakan file header berikut:

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


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

WinBioCaptureSample

WinBioEnumBiometricUnits

WinBioEnumDatabases

WinBioEnumEnrollments

WinBioEnumServiceProviders