Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los controladores de perfil que anuncian sus servicios pueden crear jerarquías de árboles del Protocolo de detección de servicios (SDP) desde cero y, a continuación, convertirlos en un flujo de registro SDP. Un controlador de perfil primero debe llamar a la función SdpCreateNodeTree . La función SdpCreateNodeTree devuelve una estructura de SDP_TREE_ROOT_NODE asignada y vacía que el controlador de perfil puede rellenar mediante las siguientes funciones:
- SdpAddAttributeToTree
- SdpAppendNodeToContainerNode
- SdpCreateNodeAlternative
- SdpCreateNodeBoolean
- SdpCreateNodeInt128
- SdpCreateNodeInt16
- SdpCreateNodeInt32
- SdpCreateNodeInt64
- SdpCreateNodeInt8
- SdpCreateNodeNil
- SdpCreateNodeSequence
- SdpCreateNodeString
- SdpCreateNodeUInt128
- SdpCreateNodeUInt16
- SdpCreateNodeUInt32
- SdpCreateNodeUInt64
- SdpCreateNodeUInt8
- SdpCreateNodeUrl
- SdpCreateNodeUUID128
- SdpCreateNodeUUID16
- SdpCreateNodeUUID32
Una vez que el controlador de perfil termine de compilar el registro SDP basado en árbol, llama a la función SdpConvertTreeToStream para generar una versión de secuencia de bytes sin procesar del registro SDP. En este formato, el registro SDP está listo para que el controlador de perfil lo publique en el servidor SDP local. Este proceso puede ser más cómodo para los controladores de perfil que construir un registro SDP como una secuencia.
La función SdpConvertTreeToStream asigna la memoria necesaria para almacenar la versión de secuencia del registro SDP. Cuando el controlador de perfil ya no requiere un registro SDP, debe liberar la memoria mediante ExFreePool.
Además, cuando un controlador de perfil ya no requiere la versión basada en árbol de un registro SDP, debe llamar a SdpFreeTree para liberar la memoria asignada con la estructura de SDP_TREE_ROOT_NODE asociada.
Los controladores de perfil pueden obtener un puntero a todas las funciones descritas en este tema consultando las interfaces BTHDDI_SDP_PARSE_INTERFACE y BTHDDI_SDP_NODE_INTERFACE . Para obtener más información sobre cómo consultar estas interfaces, consulte Consulta de interfaces Bluetooth.