Compartilhar via


_BRB_PSM estrutura (bthddi.h)

A estrutura _BRB_PSM descreve um Protocolo/PSM (Multiplexer de Serviço) 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 de _BRB_PSM é passada como entrada para uma chamada BRB_REGISTER_PSM BRB, 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 especificou zero em BRB_REGISTER_PSM entrada, na saída esse membro contém o PSM que foi registrado.

Quando a estrutura de _BRB_PSM é passada como entrada para uma chamada BRB_UNREGISTER_PSM BRB, 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

Observações

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

Depois que um PSM é registrado, o driver de perfil pode receber notificações de conexão de dispositivos remotos e pode compilar 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 do Psm. Se o driver de perfil especificar PSM_INVALID, na saída, o PSM atribuído será retornado no Psm membro 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 conexões 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 do Psm, o valor PSM atribuído dinamicamente deverá ser passado na solicitação BRB_UNREGISTER_PSM.

Uma solicitação BRB_UNREGISTER_PSM não tem nenhum 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
de cliente com suporte mínimo Versões:_Supported no Windows Vista e posterior.
cabeçalho bthddi.h (inclua Bthddi.h)

Consulte 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