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


Bluetooth и WSAQUERYSET для установки службы

Bluetooth использует структуруWSAQUERYSETдля упрощения обнаружения устройств и служб в пространстве имен Bluetooth, NS_BTH.

ФункцияWSASetServiceиспользует структур у WSAQUERYSET для регистрации или удаления экземпляров служб в пространстве имен Bluetooth. В следующей таблице перечислены значения элементов в структуре WSAQUERYSET.

Член Обязательное значение (входные данные) Выпуск
dwSize Необходимо задать значение размера(WSAQUERYSET). Используется в качестве механизма управления версиями. Никакой.
dwOutputFlags Не используется. Никакой.
lpszServiceInstanceName Необязательно, но рекомендуется. Используется для создания атрибута Bluetooth ServiceName. Никакой.
lpServiceClassId Обязательно. GUID, соответствующий классу службы. Это значение должно соответствовать GUID из документа "Назначенные номера Bluetooth" для известных профилей или уникального идентификатора UUID, созданного приложением для приложений, которые не основаны на профилях. Используется для создания последовательности атрибутов ServiceClassIdList с этим элементом. Никакой.
lpVersion Не используется. Никакой.
lpszComment Необязательный. Используется для создания атрибута Bluetooth ServiceDescription. Никакой.
dwNameSpace Пространство имен, в котором необходимо ограничить службу. Должно быть NS_BTH. Никакой.
lpNSProviderId Не требуется. Никакой.
lpszContext Не используется. Никакой.
dwNumberOfProtocols Не используется. Никакой.
lpafpProtocols Не используется. Никакой.
lpszQueryString Не используется. Никакой.
dwNumberOfCsAddrs Количество адресов для регистрации. Должно быть 1. Никакой.
lpcsaBuffer Требуется, если lpBlob не заполнены необработанным потоком SDP. Указатель на структуру CSADDR_INFO со своим LocalAddr.lpSockaddr, указывающим на SOCKADDR_BTH, где сервер прослушивает подключения. Функцию получает имя-имя можно использовать для возврата структуры SOCKADDR_BTH для связанного сокета. Сведения в элементе lpcsaBuffer используются системой для создания атрибута SDP Bluetooth ProtocolDescriptorList. Протокол и порт, предоставленные в lpcsaBuffer, должны быть уникальными (не зарегистрированными ранее) и используются для индексирования записи для последующих вызовов удаления. Используется для создания атрибута Bluetooth ProtocolDescriptorList записи SDP. Никакой.
lpBlob Необязательный. Указатель на структуру BLOB, которая указывает на структуру BTH_SET_SERVICE, что позволяет клиенту предоставить структуру Bluetooth, содержащую двоичную запись SDP, созданную приложением. Если lpBlob предоставляется функции WSASetService, все остальные член ы структуры WSAQUERYSET, кроме dwSize и dwNameSpace игнорируются. Дополнительные сведения см. в Bluetooth и BLOB. Отправка двоичной записи SDP во многих случаях необходима, так как ограниченное количество атрибутов SDP можно преобразовать из структуры WSAQUERYSET, а строки преобразуются только в кодировку UTF-8 по умолчанию. Если необязательные BLOB и BTH_SET_SERVICE структуры были предоставлены для входных данных, а также значения ULONG и HANDLE, которые должны указываться BTH_SET_SERVICE, версия обновляется, чтобы она содержала BTH_SDP_VERSION значение поставщика сокетов Bluetooth Windows, и предоставляется дескриптор, который требуется для последующего удаления записи.

 

Заметка

Чтобы удалить службу, единственными необходимыми элементами в структуре BTH_SET_SERVICE являются pSdpVersion и элементы pRecordHandle.

 

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

Bluetooth и WSAQUERYSET для запроса на обслуживание

Bluetooth и BLOB

Bluetooth и WSASetService

BLOB

BTH_SET_SERVICE

CSADDR_INFO

возвращает имя

SOCKADDR_BTH

WSAQUERYSET

сокеты Windows