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.
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.
[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 |
---|---|
|
L’utilisateur a abandonné l’opération. |
|
La structure d’appareil spécifiée dans pbdti n’est pas valide. |
|
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 |