Поделиться через


Функция BluetoothAuthenticateDeviceEx (bluetoothapis.h)

Функция BluetoothAuthenticateDeviceEx отправляет запрос проверки подлинности на удаленное устройство Bluetooth. Кроме того, эта функция позволяет передавать внеполосные данные в вызов функции для устройства, прошедшего проверку подлинности.

Примечание Этот API поддерживается в Windows Vista с пакетом обновления 2 (SP2) и Windows 7.
 

Синтаксис

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

Параметры

[in, optional] hwndParentIn

Окно для родительского мастера проверки подлинности. Если значение РАВНО NULL, мастер будет отключен от рабочего стола.

[in, optional] hRadioIn

Допустимый локальный дескриптор радиосвязи или NULL. Если значение РАВНО NULL, будут проверены все радиосвязи. Если какой-либо из радиоприемных установок будет выполнен успешно, вызов будет выполнен успешно.

[in, out] pbtdiInout

Указатель на структуру BLUETOOTH_DEVICE_INFO , описывающую устройство, для которых выполняется проверка подлинности.

[in, optional] pbtOobData

Указатель на данные, относящиеся к конкретному устройству, которые будут предоставляться с помощью этого вызова API. Если значение РАВНО NULL, отображается пользовательский интерфейс для продолжения процесса проверки подлинности. Если значение не равно NULL, пользовательский интерфейс не отображается.

Примечание Если обратный вызов зарегистрирован с помощью BluetoothRegisterForAuthenticationEx, пользовательский интерфейс не будет отображаться.
 

[in] authenticationRequirement

Значение BLUETOOTH_AUTHENTICATION_REQUIREMENTS , указывающее защиту, необходимую для проверки подлинности.

Возвращаемое значение

Возвращает ERROR_SUCCESS после успешного завершения; при сбое возвращает следующие коды ошибок:

Код возврата Описание
ERROR_CANCELLED
Пользователь прервал операцию.
ERROR_INVALID_PARAMETER
Недопустимая структура устройства, указанная в pbdti .
ERROR_NO_MORE_ITEMS
Устройство в pbtdi уже помечено как прошедшее проверку подлинности.

Комментарии

Структура BLUETOOTH_DEVICE_INFO , указанная pbtdilInOut, должна содержать адрес устройства для проверки подлинности. Если значение pbtOobData не равно NULL, будет предпринята попытка проверить подлинность удаленного устройства с помощью предоставленных данных внеполосного подключения.

Для всех других типов проверки подлинности вызывающий объект должен зарегистрировать обратный вызов проверки подлинности с помощью BluetoothRegisterForAuthenticationEx , а затем ответить на соответствующий метод проверки подлинности с помощью BluetoothSendAuthenticationResponseEx.

Примеры

В следующем примере кода устройство найдено и запрос проверки подлинности отправляется с помощью 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;
}

Требования

Требование Значение
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2) [только классические приложения]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header bluetoothapis.h (включая Bthsdpdef.h, BluetoothAPIs.h)
Библиотека Bthprops.lib
DLL bthprops.cpl

См. также раздел

BluetoothAuthenticateDevice