Función BluetoothAuthenticateDeviceEx (bluetoothapis.h)
La función BluetoothAuthenticateDeviceEx envía una solicitud de autenticación a un dispositivo Bluetooth remoto. Además, esta función permite pasar datos fuera de banda a la llamada de función para que el dispositivo se autentique.
Sintaxis
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
);
Parámetros
[in, optional] hwndParentIn
Ventana para el asistente para autenticación principal. Si es NULL, el asistente estará primario fuera del escritorio.
[in, optional] hRadioIn
Un identificador de radio local válido o NULL. Si es NULL, se probarán todas las radios. Si alguna de las radios se realiza correctamente, la llamada se realizará correctamente.
[in, out] pbtdiInout
Puntero a una estructura de BLUETOOTH_DEVICE_INFO que describe el dispositivo que se autentica.
[in, optional] pbtOobData
Puntero a los datos específicos del dispositivo fuera de banda que se van a proporcionar con esta llamada API. Si es NULL, se muestra una interfaz de usuario para continuar con el proceso de autenticación. Si no es NULL, no se muestra ninguna interfaz de usuario.
[in] authenticationRequirement
Valor de BLUETOOTH_AUTHENTICATION_REQUIREMENTS que especifica la protección necesaria para la autenticación.
Valor devuelto
Devuelve ERROR_SUCCESS tras completarse correctamente; devuelve los siguientes códigos de error tras un error:
Código devuelto | Descripción |
---|---|
|
El usuario anuló la operación. |
|
La estructura del dispositivo especificada en pbdti no es válida. |
|
El dispositivo en pbtdi ya se ha marcado como autenticado. |
Comentarios
La estructura BLUETOOTH_DEVICE_INFO especificada por pbtdilInOut debe contener la dirección de un dispositivo para autenticarse. Si el valor de pbtOobData no es NULL, se intentará autenticar el dispositivo remoto con los datos fuera de banda proporcionados.
Para todos los demás tipos de autenticación, el autor de la llamada debe registrar una devolución de llamada de autenticación mediante BluetoothRegisterForAuthenticationEx y, a continuación, responder al método de autenticación pertinente mediante BluetoothSendAuthenticationResponseEx.
Ejemplos
En el código de ejemplo siguiente se ha encontrado un dispositivo y se envía una solicitud de autenticación mediante 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;
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP con SP2 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | No se admite ninguno |
Plataforma de destino | Windows |
Encabezado | bluetoothapis.h (incluya Bthsdpdef.h, BluetoothAPIs.h) |
Library | Bthprops.lib |
Archivo DLL | bthprops.cpl |