Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйверы профилей, объявляющие свои службы, могут создавать иерархии дерева обнаружения служб (SDP) с нуля, а затем преобразовывать их в поток записей SDP. Драйвер профиля должен сначала вызвать функцию SdpCreateNodeTree. Функция sdpCreateNodeTree возвращает выделенную и пустую структуруSDP_TREE_ROOT_NODE, которую драйвер профиля может заполнить с помощью следующих функций:
- SdpAddAttributeToTree
- SdpAppendNodeToContainerNode
- SdpCreateNodeAlternative
- SdpCreateNodeBoolean
- SdpCreateNodeInt128
- SdpCreateNodeInt16
- SdpCreateNodeInt32
- SdpCreateNodeInt64
- SdpCreateNodeInt8
- SdpCreateNodeNil
- SdpCreateNodeSequence
- SdpCreateNodeString
- SdpCreateNodeUInt128
- SdpCreateNodeUInt16
- SdpCreateNodeUInt32
- SdpCreateNodeUInt64
- SdpCreateNodeUInt8
- SdpCreateNodeUrl
- SdpCreateNodeUUID128
- SdpCreateNodeUUID16
- SdpCreateNodeUUID32
После завершения сборки записи SDP на основе дерева драйвер профиля вызывает функцию SdpConvertTreeToStream для создания версии записи SDP в виде потока необработанных байтов. Запись SDP в этой форме готова для публикации драйвером профиля на локальном сервере SDP. Этот процесс может быть удобнее для использования драйверов профилей, чем создание записи SDP в виде потока.
Функция SdpConvertTreeToStream выделяет необходимую память для хранения потоковой версии записи SDP. Если драйвер профиля больше не требует записи SDP, он должен освободить память с помощью ExFreePool.
Кроме того, если драйвер профиля больше не нуждается в древовидной версии записи SDP, он должен вызывать SdpFreeTree, чтобы освободить память, выделенную связанной структурой SDP_TREE_ROOT_NODE.
Драйверы профилей могут получить указатель на все функции, рассмотренные в этом разделе, запрашивая интерфейсы BTHDDI_SDP_PARSE_INTERFACE и BTHDDI_SDP_NODE_INTERFACE. Дополнительные сведения о запросах к интерфейсам Bluetooth см. в разделе "Запрос интерфейсов Bluetooth".