Fungsi WinBioControlUnit (winbio.h)

Memungkinkan pemanggil untuk melakukan operasi kontrol yang ditentukan vendor pada unit biometrik. Dimulai dengan Windows 10, build 1607, fungsi ini tersedia untuk digunakan dengan gambar seluler. Fungsi ini disediakan untuk akses ke operasi vendor yang diperluas yang hak istimewanya ditingkatkan tidak diperlukan. Jika hak akses diperlukan, panggil fungsi WinBioControlUnitPrivileged .

Sintaks

HRESULT WinBioControlUnit(
  [in]            WINBIO_SESSION_HANDLE SessionHandle,
  [in]            WINBIO_UNIT_ID        UnitId,
  [in]            WINBIO_COMPONENT      Component,
  [in]            ULONG                 ControlCode,
                  PUCHAR                SendBuffer,
  [in]            SIZE_T                SendBufferSize,
                  PUCHAR                ReceiveBuffer,
  [in]            SIZE_T                ReceiveBufferSize,
                  SIZE_T                *ReceiveDataSize,
  [out, optional] ULONG                 *OperationStatus
);

Parameter

[in] SessionHandle

Nilai WINBIO_SESSION_HANDLE yang mengidentifikasi sesi biometrik terbuka. Buka handel sesi sinkron dengan memanggil WinBioOpenSession. Buka handel sesi asinkron dengan memanggil WinBioAsyncOpenSession.

[in] UnitId

Nilai WINBIO_UNIT_ID yang mengidentifikasi unit biometrik. Nilai ini harus sesuai dengan ID unit yang digunakan sebelumnya dalam fungsi WinBioLockUnit .

[in] Component

Nilai WINBIO_COMPONENT yang menentukan komponen dalam unit biometrik yang harus melakukan operasi. Ini bisa menjadi salah satu nilai berikut.

Nilai Makna
WINBIO_COMPONENT_SENSOR
Kirim perintah ke adaptor sensor.
WINBIO_COMPONENT_ENGINE
Kirim perintah ke adaptor mesin.
WINBIO_COMPONENT_STORAGE
Kirim perintah ke adaptor penyimpanan.

[in] ControlCode

Kode yang ditentukan vendor yang dikenali oleh unit biometrik yang ditentukan oleh parameter UnitId dan adaptor yang ditentukan oleh parameter Komponen .

SendBuffer

Alamat buffer yang berisi informasi kontrol yang akan dikirim ke adaptor yang ditentukan oleh parameter Komponen . Format dan konten buffer ditentukan vendor.

[in] SendBufferSize

Ukuran, dalam byte, dari buffer yang ditentukan oleh parameter SendBuffer .

ReceiveBuffer

Alamat buffer yang menerima informasi yang dikirim oleh adaptor yang ditentukan oleh parameter Komponen . Format dan konten buffer ditentukan vendor.

[in] ReceiveBufferSize

Ukuran, dalam byte, dari buffer yang ditentukan oleh parameter ReceiveBuffer .

ReceiveDataSize

Penunjuk ke nilai SIZE_T yang berisi ukuran, dalam byte, dari data yang ditulis ke buffer yang ditentukan oleh parameter ReceiveBuffer .

[out, optional] OperationStatus

Penunjuk ke bilangan bulat yang berisi kode status yang ditentukan vendor yang menentukan hasil operasi kontrol.

Nilai kembali

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_HANDLE
Handel sesi tidak valid.
E_INVALIDARG
Nilai yang ditentukan dalam parameter ControlCode tidak dikenali.
E_POINTER
Parameter SendBuffer, ReceiveBuffer, ReceiveDataSize, OperationStatus tidak boleh NULL.
WINBIO_E_INVALID_CONTROL_CODE
Nilai yang ditentukan dalam parameter ControlCode tidak dikenali.
WINBIO_E_LOCK_VIOLATION
Unit biometrik yang ditentukan oleh parameter UnitId harus dikunci sebelum operasi kontrol apa pun dapat dilakukan.

Keterangan

Anda harus memanggil WinBioLockUnit sebelum memanggil WinBioControlUnit. Fungsi WinBioLockUnit membuat wilayah terkunci di mana operasi yang ditentukan vendor dapat dilakukan dengan aman.

Vendor yang membuat plug-in harus memutuskan operasi yang diperluas mana yang diistimewakan dan mana yang tersedia untuk semua klien. Untuk melakukan operasi istimewa, aplikasi klien harus memanggil fungsi WinBioControlUnitPrivileged . Windows Biometric Framework hanya memungkinkan klien yang memiliki hak akses yang sesuai untuk memanggil WinBioControlUnitPrivileged.

Untuk menggunakan WinBioControlUnit secara sinkron, panggil fungsi dengan handel sesi yang dibuat dengan memanggil WinBioOpenSession. Fungsi memblokir hingga operasi selesai atau terjadi kesalahan.

Untuk menggunakan WinBioControlUnit secara asinkron, panggil fungsi dengan handel sesi yang dibuat dengan memanggil WinBioAsyncOpenSession. Kerangka kerja mengalokasikan struktur WINBIO_ASYNC_RESULT dan menggunakannya untuk mengembalikan informasi tentang keberhasilan atau kegagalan operasi. Struktur WINBIO_ASYNC_RESULT dikembalikan ke panggilan balik aplikasi atau ke antrean pesan aplikasi, tergantung pada nilai yang Anda tetapkan dalam parameter NotificationMethod dari fungsi WinBioAsyncOpenSession .

  • Jika Anda memilih untuk menerima pemberitahuan penyelesaian dengan menggunakan panggilan balik, Anda harus menerapkan fungsi PWINBIO_ASYNC_COMPLETION_CALLBACK dan mengatur parameter NotificationMethod ke WINBIO_ASYNC_NOTIFY_CALLBACK.
  • Jika Anda memilih untuk menerima pemberitahuan penyelesaian dengan menggunakan antrean pesan aplikasi, Anda harus mengatur parameter NotificationMethod ke WINBIO_ASYNC_NOTIFY_MESSAGE. Kerangka kerja mengembalikan penunjuk WINBIO_ASYNC_RESULT ke bidang LPARAM pesan jendela.
Untuk mencegah kebocoran memori, Anda harus memanggil WinBioFree untuk merilis struktur WINBIO_ASYNC_RESULT setelah Anda selesai menggunakannya.

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

WinBioControlUnitPrivileged

WinBioLockUnit