Функция BluetoothAuthenticateDeviceEx (bluetoothapis.h)
Функция BluetoothAuthenticateDeviceEx отправляет запрос проверки подлинности на удаленное устройство Bluetooth. Кроме того, эта функция позволяет передавать внеполосные данные в вызов функции для устройства, прошедшего проверку подлинности.
Синтаксис
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, пользовательский интерфейс не отображается.
[in] authenticationRequirement
Значение BLUETOOTH_AUTHENTICATION_REQUIREMENTS , указывающее защиту, необходимую для проверки подлинности.
Возвращаемое значение
Возвращает ERROR_SUCCESS после успешного завершения; при сбое возвращает следующие коды ошибок:
Код возврата | Описание |
---|---|
|
Пользователь прервал операцию. |
|
Недопустимая структура устройства, указанная в pbdti . |
|
Устройство в 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 |