estrutura _BRB_L2CA_REGISTER_SERVER (bthddi.h)

Um driver de perfil usa a estrutura _BRB_L2CA_REGISTER_SERVER para se registrar como um servidor capaz de receber conexões L2CAP de dispositivos Bluetooth remotos.

Sintaxe

struct _BRB_L2CA_REGISTER_SERVER {
  BRB_HEADER                     Hdr;
  BTH_ADDR                       BtAddress;
  USHORT                         PSM;
  ULONG                          IndicationFlags;
  PFNBTHPORT_INDICATION_CALLBACK IndicationCallback;
  PVOID                          IndicationCallbackContext;
  PVOID                          ReferenceObject;
  OUT L2CAP_SERVER_HANDLE        ServerHandle;
};

Membros

Hdr

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

BtAddress

O endereço do dispositivo Bluetooth remoto para o qual receber notificações. Especifique BTH_ADDR_NULL para receber notificação para quaisquer conexões de entrada.

PSM

O Protocolo/Multiplexer de Serviço (PSM) que aceita solicitações de conexão.

IndicationFlags

Um sinalizador opcional ou uma combinação de sinalizadores que indica se o driver de perfil aceitará notificações de emparelhamento além de notificações de conexão. A tabela a seguir lista as possíveis configurações de sinalizador.

Bandeira Descrição
INDICATION_PAIR_DEVICE O driver de perfil aceitará notificações quando um dispositivo for emparelhado.
INDICATION_UNPAIR_DEVICE O driver de perfil aceitará notificações quando um dispositivo não for pago.
INDICATION_UNPERSONALIZE_DEVICE O driver de perfil aceitará notificações quando um dispositivo não for pessoalizado.

IndicationCallback

Uma função de retorno de chamada L2CAP , implementada pelo driver de perfil, que a pilha de driver Bluetooth deve chamar para notificar o driver de perfil sobre conexões L2CAP de entrada.

IndicationCallbackContext

O contexto a ser passado para a função de retorno de chamada especificada no membro IndicationCallback.

ReferenceObject

Um ponteiro para um objeto a ser passado para as funções ObReferenceObject e ObDereferenceObject para manter uma contagem de referência. Os drivers de perfil devem fornecer esse objeto de forma que a pilha de driver Bluetooth possa aumentar a contagem do objeto, desde que a pilha de driver possa chamar a função de retorno de chamada especificada no membro IndicationCallback. A pilha de driver Bluetooth diminuirá a contagem de referência do objeto quando o driver de perfil compilar e enviar um BRB_L2CA_UNREGISTER_SERVER solicitação.

ServerHandle

Manipule para o servidor L2CAP, se retornado com êxito. Quando o driver de perfil não deve mais receber indicações de conexão remota, ele deve passar esse identificador para BRB_L2CA_UNREGISTER_SERVER.

Observações

Para se registrar como um servidor L2CAP, um driver de perfil deve compilar e enviar um BRB_L2CA_REGISTER_SERVER solicitação.

Depois que o driver de perfil se registrar, ele deverá compilar e enviar uma solicitação BRB_REGISTER_PSM para que a pilha de driver Bluetooth aceite conexões do PSM.

Se tiver êxito, a pilha de driver Bluetooth poderá notificar o driver de perfil quando dispositivos remotos tentarem criar uma conexão L2CAP com o driver de perfil em um PSM específico.

Um driver de perfil pode especificar zero o membro Psm da estrutura de _BRB_L2CA_REGISTER_SERVER, o que significa que o PSM não está especificado, e o driver de perfil emitirá posteriormente uma BRB_REGISTER_PSM BRB para obter um PSM dinâmico para se registrar para notificações de conexão. Para obter mais informações sobre PSMs, consulte _BRB_PSM.

Depois que o driver de perfil tiver se registrado, a pilha de driver bluetooth poderá notificá-lo quando um dispositivo remoto tentar se conectar a ele chamando a função de retorno de chamada L2CAP que o driver de perfil implementa e especifica no membro IndicationCallback.

Para obter mais informações sobre servidores L2CAP e PSMs, consulte Aceitando conexões L2CAP em um driver de perfil Bluetooth.

Quando o driver de perfil recebe a notificação de uma tentativa de conexão, ele deve compilar e enviar um BRB_L2CA_OPEN_CHANNEL_RESPONSE BRB para aceitar ou rejeitar a tentativa de conexão. Para obter mais informações sobre como aceitar ou rejeitar tentativas de conexão L2CAP, consulte a estrutura de _BRB_L2CA_OPEN_CHANNEL.

Depois que uma conexão é estabelecida, o driver de perfil pode emitir outros BRBs para se comunicar com o dispositivo remoto.

Para parar de receber notificações de conexão remota, um driver de perfil deve compilar e enviar um BRB_L2CA_UNREGISTER_SERVER solicitação.

Embora esse procedimento permita que um driver de perfil aceite solicitações de conexão de entrada, ele não anuncia automaticamente um serviço usando SDP. Para anunciar um serviço usando o SDP, um driver de perfil deve enviar um registro SDP usando as APIs SDP. Para obter mais informações sobre serviços de publicidade com SDP, consulte Comunicação com servidores SDP.

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_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER

função de retorno de chamada L2CAP

ObDereferenceObject

ObReferenceObject