Aceptación de conexiones SCO en un controlador de perfil bluetooth
Un controlador de perfil SCO se puede registrar para responder a las solicitudes de conexión de Connection-Oriented sincrónicas entrantes (SCO) desde dispositivos remotos. Por ejemplo, un controlador de perfil SCO para un dispositivo de perfil de telefonía inalámbrica (CTP) responde a una solicitud de conexión SCO entrante desde el dispositivo CTP, ya sea aceptando o rechazando la solicitud. Si el controlador de perfil de servidor acepta la solicitud, el controlador de perfil de servidor responde a la entrada del dispositivo y pasa esa entrada a la pila del controlador Bluetooth.
Los controladores de perfil de servidor deben realizar los pasos siguientes para aceptar solicitudes de conexión SCO entrantes desde dispositivos Bluetooth remotos.
Para recibir solicitudes de conexión SCO entrantes desde dispositivos remotos
Los controladores de perfil deben compilar y enviar una solicitud de BRB_SCO_REGISTER_SERVER para registrar una función de devolución de llamada SCO con la pila de controladores Bluetooth para que la pila pueda notificar al controlador de perfil las solicitudes de conexión SCO entrantes.
Cuando la pila del controlador Bluetooth recibe una solicitud de conexión SCO entrante desde un dispositivo remoto, llama a la función de devolución de llamada SCO registrada anteriormente por el controlador de perfil. La pila del controlador Bluetooth pasa el valor ScoIndicationRemoteConnect al parámetro Indication de la función de devolución de llamada.
Para responder a las solicitudes de conexión entrantes, los controladores de perfil deben compilar y enviar una solicitud de BRB_SCO_OPEN_CHANNEL_RESPONSE . En función del valor del miembro Response de la estructura de _BRB_SCO_OPEN_CHANNEL pasada con esta solicitud, el controlador de perfil de servidor acepta o rechaza la solicitud de conexión.
Si el controlador de perfil de servidor acepta la conexión, la pila del controlador Bluetooth puede llamar a la función de devolución de llamada SCO tal y como se especifica en el miembro de devolución de llamada de la estructura de _BRB_SCO_OPEN_CHANNEL para notificar al controlador del perfil de servidor cualquier cambio en la conexión SCO.
Una vez que el controlador de perfil acepta una solicitud de conexión, puede usar otros BRB para enviar y recibir datos a través de la conexión SCO recién establecida.
Para dejar de recibir notificaciones de intentos de conexión SCO de dispositivo remoto, los controladores de perfil deben compilar y enviar una solicitud de BRB_SCO_UNREGISTER_SERVER para anular el registro de un servidor cuando el controlador de perfil procesa IRP_MN_REMOVE_DEVICE Plug and Play quitar notificaciones.
Para obtener más información sobre las notificaciones y las funciones de devolución de llamada, consulte Compatibilidad con las notificaciones de eventos Bluetooth.