Параметры:
hwndParent |
Handle родительского окна. Если 0, то родительским окном станет окно Desktop. |
hRadio |
Handle локального радиомодуля. Если 0, то авторизация будет проведена на всех радиомодулях. Если хотя бы один пройдет авторизацию, функция выполнится успешно. |
cDevices |
Количество элементов в массиве rgpbtdi. |
rgpbtdi |
Массив структур BLUETOOTH_DEVICE_INFO, в котором представлены устройства для авторизации. |
Возвращаемые значения:
ERROR_SUCCESS |
Функция выполнена успешно. Проверьте флаг fAuthenticated у каждого устройства, что бы знать, какие прошли авторизацию. |
ERROR_CANCELLED |
Пользователь отменил процесс авторизации. Проверьте флаг fAuthenticated у каждого устройства, что бы знать, какие прошли авторизацию. |
ERROR_INVALID_PARAMETER |
Один или несколько элементов массива rgpbtdi не верны. |
ERROR_NO_MORE_ITEMS |
Все устройства в массиве уже авторизированны. |
Другие ошибки Win32 |
|
Важно: В оригинале функция выглядит вот так:
Code: |
function BluetoothAuthenticateMultipleDevices( hwndParent : HWND; hRadio : THandle; cDevices : DWORD; pbtdi : PBLUETOOTH_DEVICE_INFO): DWORD; stdcall; |
Это не верно, так как в документации Microsoft указано, что параметр rgpbtdi должен передаваться как указатель (что подразумевает запись PBLUETOOTH_DEVICE_INFO), но как я писал выше, этот тип ошибочен. Он не является указателем. Я изменил функцию так, как показано выше. По поводу типа __PBLUETOOTH_DEVICE_INFO я писал выше.
Описывать с примером, как использовать эти функции не буду, так как они тривиальны (если вы прочитали все вышеизложенное). Остались последние три функции, которые мы не рассмотрели:
BluetoothRegisterForAuthentication - регистрирует функцию обратного вызова, которая будет вызываться на запрос устройства об авторизации. Если несколько приложений зарегистрировало такую функцию, то будет вызвана функция в последнем приложении.
Объявление функции:
Code: |
function BluetoothRegisterForAuthentication( var pbtdi : PBLUETOOTH_DEVICE_INFO; var phRegHandle : HBLUETOOTH_AUTHENTICATION_REGISTRATION; pfnCallback : PFN_AUTHENTICATION_CALLBACK; pvParam : Pointer): DWORD; stdcall; |
Параметры:
pbtdi |
Указатель на BLUETOOTH_DEVICE_INFO. Используется адрес устройства, для которого регистрируется функция. Обратите внимание на параметр. В оригинале он опять передается не как указатель. |
phRegHandle |
Указатель, куда будет возвращен Handle регистрации, которой потом используется в BluetoothUnregisterAuthentication. |
pfnCallback |
Функция обратного вызова. |
pvParam |
Опциональный параметр, который без изменения передается в функцию обратного вызова. |
Возвращаемые значения:
ERROR_SUCCESS |
Функция выполнена успешно. |
ERROR_OUTOFMEMORY |
Недостаточно памяти. |
Другие ошибки Win32 |
|
BluetoothUnregisterAuthentication - удаляет функцию обратного вызова, зарегистрированную функцией BluetoothRegisterForAuthentication и закрывает Handle.
Объявление функции:
Code: |
function BluetoothUnregisterAuthentication( hRegHandle : HBLUETOOTH_AUTHENTICATION_REGISTRATION): BOOL; stdcall; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!