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.
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.
[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 |
---|---|
|
L'utente ha interrotto l'operazione. |
|
La struttura del dispositivo specificata in pbdti non è valida. |
|
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 |