Partager via


Fonction BluetoothAuthenticateDeviceEx (bluetoothapis.h)

La fonction BluetoothAuthenticateDeviceEx envoie une demande d’authentification à un appareil Bluetooth distant. En outre, cette fonction permet de transmettre des données hors bande à l’appel de fonction pour l’appareil en cours d’authentification.

Note Cette API est prise en charge dans Windows Vista SP2 et Windows 7.
 

Syntaxe

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

Paramètres

[in, optional] hwndParentIn

Fenêtre permettant de parenter l’Assistant authentification. Si la valeur est NULL, l’Assistant est parenté hors du bureau.

[in, optional] hRadioIn

Un handle radio local valide ou NULL. Si la valeur est NULL, toutes les radios seront essayées. Si l’une des radios réussit, l’appel réussit.

[in, out] pbtdiInout

Pointeur vers une structure de BLUETOOTH_DEVICE_INFO décrivant l’appareil en cours d’authentification.

[in, optional] pbtOobData

Pointeur vers les données hors bande spécifiques de l’appareil à fournir avec cet appel d’API. Si la valeur est NULL, une interface utilisateur s’affiche pour poursuivre le processus d’authentification. Si ce n’est pas NULL, aucune interface utilisateur n’est affichée.

Note Si un rappel est inscrit à l’aide de BluetoothRegisterForAuthenticationEx, aucune interface utilisateur n’est affichée.
 

[in] authenticationRequirement

Valeur BLUETOOTH_AUTHENTICATION_REQUIREMENTS qui spécifie la protection requise pour l’authentification.

Valeur retournée

Retourne ERROR_SUCCESS en cas de réussite de l’exécution ; retourne les codes d’erreur suivants en cas d’échec :

Code de retour Description
ERROR_CANCELLED
L’utilisateur a abandonné l’opération.
ERROR_INVALID_PARAMETER
La structure d’appareil spécifiée dans pbdti n’est pas valide.
ERROR_NO_MORE_ITEMS
L’appareil dans pbtdi est déjà marqué comme authentifié.

Remarques

La structure BLUETOOTH_DEVICE_INFO spécifiée par pbtdilInOut doit contenir l’adresse d’un appareil à authentifier. Si la valeur de pbtOobData n’est pas NULL, une tentative d’authentification de l’appareil distant avec les données hors bande fournies est effectuée.

Pour tous les autres types d’authentification, l’appelant doit inscrire un rappel d’authentification à l’aide de BluetoothRegisterForAuthenticationEx , puis répondre à la méthode d’authentification appropriée à l’aide de BluetoothSendAuthenticationResponseEx.

Exemples

Dans l’exemple de code suivant, un appareil a été trouvé et une demande d’authentification est envoyée à l’aide de 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;
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2 [applications de bureau uniquement]
Serveur minimal pris en charge Aucun pris en charge
Plateforme cible Windows
En-tête bluetoothapis.h (inclure Bthsdpdef.h, BluetoothAPIs.h)
Bibliothèque Bthprops.lib
DLL bthprops.cpl

Voir aussi

BluetoothAuthenticateDevice