Funzione BluetoothAuthenticateDeviceEx (bluetoothapis.h)

La funzione BluetoothAuthenticateDeviceEx invia una richiesta di autenticazione a un dispositivo Bluetooth remoto. Questa funzione consente inoltre di passare i dati fuori banda nella chiamata di funzione per il dispositivo autenticato.

Nota Questa API è supportata in Windows Vista SP2 e Windows 7.
 

Sintassi

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
);

Parametri

[in, optional] hwndParentIn

Finestra di padre della procedura guidata di autenticazione. Se NULL, la procedura guidata verrà padreata dal desktop.

[in, optional] hRadioIn

Handle di radio locale valido o NULL. Se NULL, verranno tentate tutte le radio. Se una delle radio ha esito positivo, la chiamata avrà esito positivo.

[in, out] pbtdiInout

Puntatore a una struttura BLUETOOTH_DEVICE_INFO che descrive il dispositivo autenticato.

[in, optional] pbtOobData

Puntatore a dati specifici del dispositivo fuori banda da fornire con questa chiamata API. Se NULL, viene visualizzata un'interfaccia utente per continuare il processo di autenticazione. Se non è NULL, non viene visualizzata alcuna interfaccia utente.

Nota Se un callback viene registrato tramite BluetoothRegisterForAuthenticationEx, non verrà visualizzata un'interfaccia utente.
 

[in] authenticationRequirement

Valore BLUETOOTH_AUTHENTICATION_REQUIREMENTS che specifica la protezione necessaria per l'autenticazione.

Valore restituito

Restituisce ERROR_SUCCESS al completamento corretto; restituisce i codici di errore seguenti in caso di errore:

Codice restituito Descrizione
ERROR_CANCELLED
L'utente ha interrotto l'operazione.
ERROR_INVALID_PARAMETER
La struttura del dispositivo specificata in pbdti non è valida.
ERROR_NO_MORE_ITEMS
Il dispositivo in pbtdi è già stato contrassegnato come autenticato.

Commenti

La struttura BLUETOOTH_DEVICE_INFO specificata da pbtdilInOut deve contenere l'indirizzo di un dispositivo per l'autenticazione. Se il valore di pbtOobData non è NULL, verrà effettuato un tentativo di autenticare il dispositivo remoto con i dati fuori banda forniti.

Per tutti gli altri tipi di autenticazione, il chiamante deve registrare un callback di autenticazione usando BluetoothRegisterForAuthenticationEx e quindi rispondere al metodo di autenticazione pertinente usando BluetoothSendAuthenticationResponseEx.

Esempio

Nel codice di esempio seguente è stato trovato un dispositivo e viene inviata una richiesta di autenticazione usando 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;
}

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2 [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione bluetoothapis.h (include Bthsdpdef.h, BluetoothAPIs.h)
Libreria Bthprops.lib
DLL bthprops.cpl

Vedi anche

BluetoothAuthenticateDevice