Compartir a través de


Acceso a la información del servicio SDP

Después de que un controlador de perfil envíe un registro de Protocolo de detección de servicios (SDP) para anunciar sus servicios con SDP, otros dispositivos pueden detectar estos servicios buscando específicamente el registro o explorando para encontrarlo.

Para buscar registros SDP, un controlador de perfil de cliente debe usar primero IOCTL_BTH_SDP_CONNECT para conectarse al servicio SDP del dispositivo remoto.

A continuación, un controlador de perfil puede usar una de las siguientes E/SCTL para realizar la búsqueda de registros SDP real:

  • IOCTL_BTH_SDP_ATTRIBUTE_SEARCH obtiene todos los componentes de un registro SDP remoto que se encuentra en un intervalo de atributos SDP especificado.

  • IOCTL_BTH_SDP_SERVICE_SEARCH emite una solicitud SDP al dispositivo remoto, solicitando identificadores a los registros SDP de una clase o clases de servicio determinadas.

  • IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH combina IOCTL_BTH_SDP_ATTRIBUTE_SEARCH y IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH y devuelve una secuencia de registros SDP utilizable en una sola operación.

Los controladores de perfil pueden usar IOCTL_BTH_SDP_SERVICE_SEARCH y IOCTL_BTH_SDP_ATTRIBUTE_SEARCH para reducir la cantidad de tráfico SDP transmitido a través de un vínculo Bluetooth y pueden extraer la información necesaria mediante un pequeño número de unidades de transferencia máximas (MTU). Si ninguno de estos problemas es de gran preocupación, puede ser más conveniente que los controladores de perfil llamen a IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH.

Una vez que el controlador de perfil ha obtenido el multiplexador dinámico de protocolo o servicio (PSM) para el servicio deseado, puede conectarse al servicio remoto mediante el BRB_L2CA_OPEN_CHANNEL BRB.

Nota

Si el servicio tiene un PSM fijo, que muchos hacen, los controladores de perfil de cliente L2CAP no necesitan usar SDP para obtener el PSM. Sin embargo, los controladores de perfil de cliente L2CAP todavía pueden usar SDP para obtener los atributos del servidor SDP.

Cuando el controlador de perfil finaliza la búsqueda, debe usar IOCTL_BTH_SDP_DISCONNECT para desconectar del servidor SDP remoto.