Bluetooth и WSALookupServiceBegin для запроса устройства

В этом разделе описывается, как использовать функцию WSALookupServiceBegin для выполнения запроса как видимых, так и фантомных устройств. Дополнительные сведения см. в разделе "Обнаружение устройств и служб Bluetooth".

Функция WSALookupServiceBegin использует структуру WSAQUERYSET в своем первом параметре lpqsRestrictions для определения критериев поиска. Bluetooth предоставляет конкретные рекомендации по использованию функции WSALookupServiceBegin и WSAQUERYSET.

В следующей таблице перечислены ограничения, которые применяются к структуре WSAQUERYSET, переданной параметру lpqsRestrictions при запросе устройств.

Член WSAQUERYSET Ограничение
dwSize Задайте для sizeof(WSAQUERYSET).
lpBlob Этот элемент содержит необязательный указатель на структуру BLOB . Если этот элемент указан, допустимые параметры запроса устройства для LUP_FLUSHCACHE приведены следующим образом:
  • Элемент cbSize структуры BLOB должен быть sizeof(BTH_QUERY_DEVICE).
  • Элемент pBlobData — это указатель на структуру BTH_QUERY_DEVICE, для которой член LAP является кодом доступа к запросу Bluetooth, а длина — длина в секундах запроса.
dwNameSpace Установите значение NS_BTH.
Другие члены Другие члены структуры WSAQUERYSET игнорируются.

 

Флаги, перечисленные в следующей таблице, используются в параметре dwControlFlags для управления результатами запроса. Флаги LUP_CONTAINERS и LUP_FLUSHCACHE используются функцией WSALookupServiceBegin; остальные флаги используются в вызовах функции WSALookupServiceNext.

Флаг Результат
LUP_CONTAINERS Указывает, что цель запроса — получить список устройств Bluetooth, а не список служб. Этот флаг должен быть задан.
LUP_FLUSHCACHE Вызывает запрос локальных устройств или приводит к возврату кэшированных результатов из предыдущих запросов.
LUP_RETURN_TYPE Верните КОД Bluetooth (класс битов устройств) непосредственно в элементе lpServiceClassId структуры WSAQUERYSET. КОД сопоставляется с членом GUID Data1 .
LUP_RES_SERVICE Возвращает сведения для локального адреса Bluetooth. Этот флаг действует только в том случае, если LUP_RETURN_ADDR также указан.
LUP_RETURN_NAME Возвращает отображаемое имя устройства в элементе lpszServiceInstanceName структуры WSAQUERYSET для каждого вызова функции WSALookupServiceNext. Этот флаг также необходимо указать, чтобы получить элемент имени структуры BTH_DEVICE_INFO при указании флага LUP_RETURN_BLOB.
LUP_RETURN_ADDR Возвращает SOCKADDR_BTH структуру, содержащую 48-разрядный адрес однорангового узла в элементе lpcsaBuffer структуры WSAQUERYSET для каждого вызова функции WSALookupServiceNext. Другие члены в структуре SOCKADDR_BTH будут пустыми.
LUP_RETURN_BLOB Возвращает структуру BTH_DEVICE_INFO при каждом последующем вызове WSALookupServiceNext.
LUP_FLUSHPREVIOUS Пропустите следующее доступное устройство и верните следующее за ним устройство.

 

Bluetooth и WSALookupServiceBegin для обнаружения служб

Bluetooth и WSALookupServiceNext

Bluetooth и WSAQUERYSET для запроса устройства

Обнаружение устройств и служб Bluetooth

WSALookupServiceBegin

WSALookupServiceNext

WSALookupServiceEnd

BLOB

BTH_QUERY_DEVICE

SOCKADDR_BTH

WSAQUERYSET

Сокеты Windows