BluetoothAuthenticateDeviceEx (bluetoothapis.h)

Fungsi BluetoothAuthenticateDeviceEx mengirimkan permintaan autentikasi ke perangkat Bluetooth jarak jauh. Selain itu, fungsi ini memungkinkan data di luar band diteruskan ke panggilan fungsi untuk perangkat yang diautentikasi.

Catatan API ini didukung di Windows Vista SP2 dan Windows 7.
 

Sintaks

DWORD BluetoothAuthenticateDeviceEx(
  [in, optional] HWND                        hwndParentIn,
  [in, optional] HANDLE                      hRadioIn,
  [in, out]      BLUETOOTH_DEVICE_INFO       *pbtdiInout,
  [in, optional] PBLUETOOTH_OOB_DATA_INFO    pbtOobData,
  [in]           AUTHENTICATION_REQUIREMENTS authenticationRequirement
);

Parameter

[in, optional] hwndParentIn

Jendela untuk induk wizard autentikasi. Jika NULL, wizard akan diinduk dari desktop.

[in, optional] hRadioIn

Handel radio lokal atau NULL yang valid. Jika NULL, maka semua radio akan dicoba. Jika salah satu radio berhasil, maka panggilan akan berhasil.

[in, out] pbtdiInout

Penunjuk ke struktur BLUETOOTH_DEVICE_INFO yang menjelaskan perangkat yang sedang diautentikasi.

[in, optional] pbtOobData

Arahkan ke data out-of-band khusus perangkat untuk disediakan dengan panggilan API ini. Jika NULL, maka UI ditampilkan untuk melanjutkan proses autentikasi. Jika tidak NULL, tidak ada UI yang ditampilkan.

Catatan Jika panggilan balik terdaftar menggunakan BluetoothRegisterForAuthenticationEx, maka UI tidak akan ditampilkan.
 

[in] authenticationRequirement

Nilai BLUETOOTH_AUTHENTICATION_REQUIREMENTS yang menentukan perlindungan yang diperlukan untuk autentikasi.

Mengembalikan nilai

Mengembalikan ERROR_SUCCESS setelah berhasil diselesaikan; mengembalikan kode kesalahan berikut setelah kegagalan:

Menampilkan kode Deskripsi
ERROR_CANCELLED
Pengguna membatalkan operasi.
ERROR_INVALID_PARAMETER
Struktur perangkat yang ditentukan dalam pbdti tidak valid.
ERROR_NO_MORE_ITEMS
Perangkat dalam pbtdi sudah ditandai sebagai diautentikasi.

Keterangan

Struktur BLUETOOTH_DEVICE_INFO yang ditentukan oleh pbtdilInOut harus berisi alamat perangkat untuk diautentikasi. Jika nilai pbtOobData bukan NULL, upaya akan dilakukan untuk mengautentikasi perangkat jarak jauh dengan data out-of-band yang disediakan.

Untuk semua jenis autentikasi lainnya, pemanggil harus mendaftarkan panggilan balik autentikasi menggunakan BluetoothRegisterForAuthenticationEx lalu menanggapi metode autentikasi yang relevan menggunakan BluetoothSendAuthenticationResponseEx.

Contoh

Dalam contoh kode berikut, perangkat telah ditemukan dan permintaan autentikasi dikirim menggunakan BluetoothAuthenticateDeviceEx.

PBLUETOOTH_DEVICE_INFO pDeviceInfo; 
HRESULT status;
HANDLE hEvent = NULL;

HRESULT WINAPI AuthenticateService(){

	status = BluetoothAuthenticateDeviceEx( NULL,
					        NULL,
					        pDeviceInfo,
					        NULL,
					        MITMProtectionNotRequired );

	if ( ERROR_INVALID_PARAMETER == status ) {
		// goto Cleanup;
		// ...
		// Take cleanup action here,
		// ...
	}
//
// Wait for the Authentication callback to return before trying to unregister the handle
// Use an infinite timeout since the handle to the function that sets the event is being
// deleted
//

	if ( WAIT_FAILED == WaitForSingleObject(hEvent, INFINITE) ) {
        	status = GetLastError();
        	// goto Cleanup;
		// ...
		// Take cleanup action here,
		// ...
	}

      return status;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP dengan SP2 [hanya aplikasi desktop]
Server minimum yang didukung Tidak ada yang didukung
Target Platform Windows
Header bluetoothapis.h (termasuk Bthsdpdef.h, BluetoothAPIs.h)
Pustaka Bthprops.lib
DLL bthprops.cpl

Lihat juga

BluetoothAuthenticateDevice