Параметры:
hRegHandle |
Handle регистрации, полученный функцией BluetoothRegisterForAuthentication. |
Возвращаемые значения:
Вернет TRUE, если вызов успешен и FALSE в случае неудачи. Используйте GetLastError для получения дополнительной информации.
BluetoothSendAuthenticationResponse - эта функция должна вызываться из функции обратного вызова при запросе авторизации удаленным устройством для передачи PIN.
Объявление функции:
Code: |
function BluetoothSendAuthenticationResponse( hRadio : THandle; pbtdi : PBLUETOOTH_DEVICE_INFO; pszPasskey : LPWSTR): DWORD; stdcall; |
Параметры:
hRadio |
Handle радиомодуля, для которого проводим авторизацию. Если 0, то пытаемся на всех. |
pbtdi |
Указатель на BLUETOOTH_DEVICE_INFO с данными об устройстве, от которого поступил запрос на авторизацию. Может быть тот же указатель, который передан в функцию обратного вызова. |
pszPasskey |
Указатель на UNICODE строку, в которой содержится ключ авторизации (PIN). |
Возвращаемые значения:
ERROR_SUCCESS |
Функция выполнена успешно. |
ERROR_CANCELLED |
Устройство отвергло авторизационный код (PIN). Так же, возможно, имеются проблемы со связью |
E_FAIL |
Устройство вернуло ошибку авторизации. |
Другие ошибки Win32 |
|
И, наконец, функция обратного вызова:
PFN_AUTHENTICATION_CALLBACK
Описание этой функции дано выше. Здесь приведу лишь определеннее.
Объявление функции:
Code: |
PFN_AUTHENTICATION_CALLBACK = function(pvParam : Pointer; pDevice : PBLUETOOTH_DEVICE_INFO): BOOL; stdcall; |
Параметры:
pvParam |
Указатель на параметр, который мы передали в BluetoothRegisterForAuthentication. |
pDevice |
Указатель на BLUETOOTH_DEVICE_INFO с данными об устройстве, от которого поступил запрос на авторизацию. |
Заключение
На этот раз все. Мы рассмотрели все функции Bluetooth API от Microsoft. Также мы научились управлять устройствами и радиомодулями Bluetooth, проводить авторизацию и получать информацию об этих устройствах.
Но актуальным остается вопрос, который мне многие задают. Как же все-таки передавать данные между устройствами Bluetooth?
Ответ на этот вопрос читайте в следующей серии статей "Передача данных через Bluetooth".
Конечно, можно было бы всю эту информацию уместить в эти статьи, но объем ее не сравним с предоставленным здесь. Так что наберитесь терпения. Я постараюсь надолго не задерживать с выходом новой серии.
Полностью рабочий пример, рассмотренный в этой статье, вы можете скачать здесь (300K).
Я буду рад любым замечаниям и пожеланиям по данной теме.
P.S. Внимательно относитесь к сторонним библиотекам. Как видите, в JWALIB оказалось много ошибок, которые порой загоняют в тупик. Я минут 20 смотрел на Access Violation, пока не понял, в чем дело.
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!