Compartir a través de


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.

Nota Esta API se admite en Windows Vista SP2 y Windows 7.
 

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.

Nota Si se registra una devolución de llamada mediante BluetoothRegisterForAuthenticationEx, no se mostrará una 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
ERROR_CANCELLED
El usuario anuló la operación.
ERROR_INVALID_PARAMETER
La estructura del dispositivo especificada en pbdti no es válida.
ERROR_NO_MORE_ITEMS
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

Consulte también

BluetoothAuthenticateDevice