Compartilhar via


estrutura _BRB_PSM (bthddi.h)

A estrutura _BRB_PSM descreve um Protocolo/Multiplexer de Serviço (PSM) para registrar ou cancelar o registro.

Sintaxe

struct _BRB_PSM {
  BRB_HEADER Hdr;
  USHORT     Psm;
};

Membros

Hdr

Uma estrutura BRB_HEADER que contém informações sobre o BRB atual.

Psm

Quando a estrutura _BRB_PSM é passada como entrada para uma chamada brb BRB_REGISTER_PSM , esse é o PSM que o driver de perfil tenta registrar. Se o driver de perfil definir esse valor como zero, o PSM será gerado dinamicamente. Se o driver de perfil tiver especificado zero na entrada BRB_REGISTER_PSM , na saída esse membro conterá o PSM que foi registrado.

Quando a estrutura _BRB_PSM é passada como entrada para uma chamada brb BRB_UNREGISTER_PSM , esse é o PSM que o driver de perfil tenta cancelar o registro. Esse valor deve ser um PSM registrado no momento. Para obter mais informações sobre valores PSM válidos, consulte a seção Comentários.

Alguns PSMs são reservados para uso pelo Windows:

SDP: 0x01

RFCOMM: 0x03

Controle HID: 0x11

Dados HID: 0x13

BNEP: 0x0F

Comentários

Para registrar um PSM, os drivers de perfil devem criar e enviar uma solicitação de BRB_REGISTER_PSM .

Depois que um PSM for registrado, o driver de perfil poderá receber notificações de conexão de dispositivos remotos e pode criar e enviar BRB_L2CA_OPEN_CHANNEL_RESPONSE solicitações para aceitar conexões de entrada.

O driver de perfil pode especificar um PSM específico ou solicitar que um PSM seja gerado dinamicamente especificando PSM_INVALID no membro Psm . Se o driver de perfil especificar PSM_INVALID, na saída o PSM atribuído será retornado no membro Psm da estrutura.

A pilha de driver Bluetooth registra PSMs para os seguintes perfis: HCRP, HID, PAN, SDP e RFCOMM.

Para obter mais informações sobre servidores L2CAP e PSMs, consulte Aceitando Connections L2CAP em um Driver de Perfil Bluetooth.

Os drivers de perfil não podem registrar um PSM que já tenha sido registrado por outro driver. Se tentar fazer isso, um erro de STATUS_ALREADY_COMMITTED será retornado. A solicitação BRB_REGISTER_PSM não tem efeito nos registros SDP. Depois de registrar um PSM, os drivers podem anunciar o PSM via SDP enviando o IOCTL_BTH_SDP_SUBMIT_RECORD IOCTL.

Para cancelar o registro de um PSM registrado anteriormente, os drivers de perfil devem compilar e enviar uma solicitação de BRB_UNREGISTER_PSM . Os drivers de perfil devem especificar um PSM registrado no momento. Se um driver de perfil enviar uma solicitação BRB_REGISTER_PSM com um valor igual a zero no membro Psm , o valor PSM atribuído dinamicamente deverá ser passado na solicitação de BRB_UNREGISTER_PSM.

Uma solicitação BRB_UNREGISTER_PSM não tem efeito nos registros SDP que tentam se conectar ao PSM. Os drivers de perfil podem remover registros SDP relevantes enviando o IOCTL_BTH_SDP_REMOVE_RECORD IOCTL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Versões:_Supported no Windows Vista e posteriores.
Cabeçalho bthddi.h (inclua Bthddi.h)

Confira também

BRB_HEADER

BRB_L2CA_OPEN_CHANNEL_RESPONSE

BRB_REGISTER_PSM

BRB_UNREGISTER_PSM

IOCTL_BTH_SDP_REMOVE_RECORD

IOCTL_BTH_SDP_SUBMIT_RECORD