Compartir a través de


estructura _BRB_PSM (bthddi.h)

La estructura de _BRB_PSM describe un multiplexador de protocolo o servicio (PSM) que se va a registrar o anular el registro.

Sintaxis

struct _BRB_PSM {
  BRB_HEADER Hdr;
  USHORT     Psm;
};

Miembros

Hdr

Estructura BRB_HEADER que contiene información sobre el BRB actual.

Psm

Cuando la estructura de _BRB_PSM se pasa como entrada para una llamada de BRB de BRB_REGISTER_PSM , este es el PSM que el controlador de perfil intenta registrar. Si el controlador de perfil establece este valor en cero, el PSM se genera dinámicamente. Si el controlador de perfil especificó cero en BRB_REGISTER_PSM entrada, en la salida este miembro contiene el PSM que se registró.

Cuando la estructura de _BRB_PSM se pasa como entrada para una llamada DE BRB de BRB_UNREGISTER_PSM , este es el PSM que el controlador de perfil intenta anular el registro. Este valor debe ser un PSM que está registrado actualmente. Para obtener más información sobre los valores válidos de PSM, vea la sección Comentarios.

Algunas PSM están reservadas para su uso por Windows:

SDP: 0x01

RFCOMM: 0x03

Control HID: 0x11

Datos HID: 0x13

BNEP: 0x0F

Comentarios

Para registrar un PSM, los controladores de perfil deben compilar y enviar una solicitud de BRB_REGISTER_PSM .

Una vez registrado un PSM, el controlador de perfil puede recibir notificaciones de conexión de dispositivos remotos y puede compilar y enviar BRB_L2CA_OPEN_CHANNEL_RESPONSE solicitudes para aceptar conexiones entrantes.

El controlador de perfil puede especificar un PSM determinado o puede solicitar que se genere dinámicamente un PSM especificando PSM_INVALID en el miembro Psm . Si el controlador de perfil especifica PSM_INVALID, en la salida se devolverá el PSM asignado en el miembro Psm de la estructura.

La pila del controlador Bluetooth registra las PSM para los siguientes perfiles: HCRP, HID, PAN, SDP y RFCOMM.

Para obtener más información sobre los servidores L2CAP y los PSM, consulte Aceptar L2CAP Connections en un controlador de perfil bluetooth.

Los controladores de perfil no pueden registrar un PSM que ya haya sido registrado por otro controlador. Si intenta hacerlo, se devolverá un error de STATUS_ALREADY_COMMITTED. La solicitud de BRB_REGISTER_PSM no tiene ningún efecto en los registros SDP. Después de registrar un PSM, los controladores pueden anunciar el PSM a través de SDP enviando el IOCTL_BTH_SDP_SUBMIT_RECORD IOCTL.

Para anular el registro de un PSM registrado anteriormente, los controladores de perfil deben compilar y enviar una solicitud de BRB_UNREGISTER_PSM . Los controladores de perfil deben especificar un PSM que esté registrado actualmente. Si un controlador de perfil envía una solicitud de BRB_REGISTER_PSM con un valor de cero en el miembro Psm , el valor psM asignado dinámicamente debe pasarse en la solicitud de BRB_UNREGISTER_PSM.

Una solicitud de BRB_UNREGISTER_PSM no tiene ningún efecto en los registros SDP que intentan conectarse al PSM. Los controladores de perfil pueden quitar los registros SDP pertinentes enviando el IOCTL_BTH_SDP_REMOVE_RECORD IOCTL.

Requisitos

Requisito Value
Cliente mínimo compatible Versions:_Supported en Windows Vista y versiones posteriores.
Encabezado bthddi.h (incluya Bthddi.h)

Consulte también

BRB_HEADER

BRB_L2CA_OPEN_CHANNEL_RESPONSE

BRB_REGISTER_PSM

BRB_UNREGISTER_PSM

IOCTL_BTH_SDP_REMOVE_RECORD

IOCTL_BTH_SDP_SUBMIT_RECORD