BRB structure (bthddi.h)

Profile drivers use Bluetooth request blocks (BRBs), to send requests to the Bluetooth driver stack. The BRB structure defines the format for all supported commands that can be sent to a Bluetooth device.

Syntax

typedef struct _BRB {
  union {
#if ...
    _BRB_HEADER                             BrbHeader;
#else
    struct _BRB_HEADER                      BrbHeader;
#endif
#if ...
    _BRB_GET_DEVICE_INTERFACE_STRING        BrbGetDeviceInterfaceString;
#else
    struct _BRB_GET_DEVICE_INTERFACE_STRING BrbGetDeviceInterfaceString;
#endif
#if ...
    _BRB_GET_LOCAL_BD_ADDR                  BrbGetLocalBdAddress;
#else
    struct _BRB_GET_LOCAL_BD_ADDR           BrbGetLocalBdAddress;
#endif
#if ...
    _BRB_ACL_GET_MODE                       BrbAclGetMode;
#else
    struct _BRB_ACL_GET_MODE                BrbAclGetMode;
#endif
#if ...
    _BRB_ACL_ENTER_ACTIVE_MODE              BrbAclEnterActiveMode;
#else
    struct _BRB_ACL_ENTER_ACTIVE_MODE       BrbAclEnterActiveMode;
#endif
#if ...
    _BRB_PSM                                BrbPsm;
#else
    struct _BRB_PSM                         BrbPsm;
#endif
#if ...
    _BRB_L2CA_REGISTER_SERVER               BrbL2caRegisterServer;
#else
    struct _BRB_L2CA_REGISTER_SERVER        BrbL2caRegisterServer;
#endif
#if ...
    _BRB_L2CA_UNREGISTER_SERVER             BrbL2caUnregisterServer;
#else
    struct _BRB_L2CA_UNREGISTER_SERVER      BrbL2caUnregisterServer;
#endif
#if ...
    _BRB_L2CA_OPEN_CHANNEL                  BrbL2caOpenChannel;
#else
    struct _BRB_L2CA_OPEN_CHANNEL           BrbL2caOpenChannel;
#endif
#if ...
    _BRB_L2CA_CLOSE_CHANNEL                 BrbL2caCloseChannel;
#else
    struct _BRB_L2CA_CLOSE_CHANNEL          BrbL2caCloseChannel;
#endif
#if ...
    _BRB_L2CA_PING                          BrbL2caPing;
#else
    struct _BRB_L2CA_PING                   BrbL2caPing;
#endif
#if ...
    _BRB_L2CA_ACL_TRANSFER                  BrbL2caAclTransfer;
#else
    struct _BRB_L2CA_ACL_TRANSFER           BrbL2caAclTransfer;
#endif
#if ...
    _BRB_L2CA_UPDATE_CHANNEL                BrbL2caUpdateChannel;
#else
    struct _BRB_L2CA_UPDATE_CHANNEL         BrbL2caUpdateChannel;
#endif
#if ...
    _BRB_L2CA_OPEN_ENHANCED_CHANNEL         BrbL2caOpenEnhancedChannel;
#else
    struct _BRB_L2CA_OPEN_ENHANCED_CHANNEL  BrbL2caOpenEnhancedChannel;
#endif
#if ...
    _BRB_SCO_REGISTER_SERVER                BrbScoRegisterServer;
#else
    struct _BRB_SCO_REGISTER_SERVER         BrbScoRegisterServer;
#endif
#if ...
    _BRB_SCO_UNREGISTER_SERVER              BrbScoUnregisterServer;
#else
    struct _BRB_SCO_UNREGISTER_SERVER       BrbScoUnregisterServer;
#endif
#if ...
    _BRB_SCO_OPEN_CHANNEL                   BrbScoOpenChannel;
#else
    struct _BRB_SCO_OPEN_CHANNEL            BrbScoOpenChannel;
#endif
#if ...
    _BRB_SCO_CLOSE_CHANNEL                  BrbScoCloseChannel;
#else
    struct _BRB_SCO_CLOSE_CHANNEL           BrbScoCloseChannel;
#endif
#if ...
    _BRB_SCO_FLUSH_CHANNEL                  BrbScoFlushChannel;
#else
    struct _BRB_SCO_FLUSH_CHANNEL           BrbScoFlushChannel;
#endif
#if ...
    _BRB_SCO_TRANSFER                       BrbScoTransfer;
#else
    struct _BRB_SCO_TRANSFER                BrbScoTransfer;
#endif
#if ...
    _BRB_SCO_GET_CHANNEL_INFO               BrbScoGetChannelInfo;
#else
    struct _BRB_SCO_GET_CHANNEL_INFO        BrbScoGetChannelInfo;
#endif
#if ...
    _BRB_SCO_GET_SYSTEM_INFO                BrbScoGetSystemInfo;
#else
    struct _BRB_SCO_GET_SYSTEM_INFO         BrbScoGetSystemInfo;
#endif
  };
} BRB, *PBRB;

Members

BrbHeader

Describes basic information about the request being sent to the Bluetooth device. For more information, see BRB_HEADER.

BrbGetDeviceInterfaceString

Defines the format for a command to get the interface string of the current Bluetooth device object. For more information about getting the device interface string, see _BRB_GET_DEVICE_INTERFACE_STRING.

BrbGetLocalBdAddress

Defines the format of a command that returns the address of the local Bluetooth radio. For more information about getting the local Bluetooth device address, see _BRB_GET_LOCAL_BD_ADDR.

BrbAclGetMode

Defines the format of a command to get the current ACL mode. For more information about getting the current ACL mode, see _BRB_ACL_GET_MODE.

BrbAclEnterActiveMode

Defines the format of a command to enter active ACL mode. For more information about entering active ACL mode, see _BRB_ACL_ENTER_ACTIVE_MODE.

BrbPsm

Defines the format for the commands that register and unregister a Protocol/Service Multiplexer (PSM) that L2CAP Bluetooth devices connect to. For more information about PSMs, see _BRB_PSM.

BrbL2caRegisterServer

Defines the format for a command to register a L2CAP server. For more information about registering a L2CAP server, see _BRB_L2CA_REGISTER_SERVER.

BrbL2caUnregisterServer

Defines the format for a command to unregister a previously registered L2CAP server. For more information about unregistering a L2CAP server, see _BRB_L2CA_UNREGISTER_SERVER.

BrbL2caOpenChannel

Defines the format of the L2CAP open channel and the L2CAP open channel response commands sent to the Bluetooth device. For more information about opening a L2CAP channel, see _BRB_L2CA_OPEN_CHANNEL.

BrbL2caCloseChannel

Defines the format of a L2CAP close channel command sent to the Bluetooth device. For more information about closing a L2CAP channel, see _BRB_L2CA_CLOSE_CHANNEL.

BrbL2caPing

Defines the format of a command that sends a L2CAP_EchoReq message to and receives a L2CAP_EchoRsp message from a remote Bluetooth device over a L2CAP connection. For more information about pinging a L2CAP connection, see _BRB_L2CA_PING.

BrbL2caAclTransfer

Defines the format of a command that performs read and write operations over a L2CAP connection to a Bluetooth device. For more information about ACL transfers, see _BRB_L2CA_ACL_TRANSFER.

BrbL2caUpdateChannel

Defines the format of a command that updates the settings of a L2CAP channel to a Bluetooth device. For more information about updating a L2CAP channel, see _BRB_L2CA_UPDATE_CHANNEL.

BrbL2caOpenEnhancedChannel

Defines the format of the enhanced L2CAP open channel and the enhanced L2CAP open channel response commands sent to the Bluetooth device. For more information about opening an enhanced L2CAP channel, see _BRB_L2CA_OPEN_ENHANCED_CHANNEL. This member is present in Windows 8 and later versions of Windows.

BrbScoRegisterServer

Defines the format for a command to register a SCO server. For more information about registering a SCO server, see _BRB_SCO_REGISTER_SERVER.

BrbScoUnregisterServer

Defines the format for a command to unregister a previously registered SCO server. For more information about unregistering a SCO server, see _BRB_SCO_UNREGISTER_SERVER.

BrbScoOpenChannel

Defines the format of SCO open channel and the SCO open channel response commands sent to the Bluetooth device. For more information about opening a SCO channel, see _BRB_SCO_OPEN_CHANNEL.

BrbScoCloseChannel

Defines the format of a SCO close channel command sent to the Bluetooth device. For more information about closing a SCO channel, see _BRB_SCO_CLOSE_CHANNEL.

BrbScoFlushChannel

Defines the format of a SCO flush channel command. For more information about flushing a SCO channel, see _BRB_SCO_FLUSH_CHANNEL.

BrbScoTransfer

Defines the format of a command that reads isochronous data from or writes data to a SCO channel from a Bluetooth device. For more information, see _BRB_SCO_TRANSFER.

BrbScoGetChannelInfo

Defines the format of a command that reads the settings of a SCO channel to a Bluetooth device. For more information about SCO transfers, see _BRB_SCO_GET_CHANNEL_INFO.

BrbScoGetSystemInfo

Defines the format of a command that reads the SCO settings of the local system. For more information about getting local SCO settings, see _BRB_SCO_GET_SYSTEM_INFO.

Requirements

Requirement Value
Minimum supported client Versions:_Supported in Windows Vista, and later.
Header bthddi.h (include Bthddi.h)

See also

BRB_HEADER

_BRB_ACL_ENTER_ACTIVE_MODE

_BRB_ACL_GET_MODE

_BRB_GET_DEVICE_INTERFACE_STRING

_BRB_GET_LOCAL_BD_ADDR

_BRB_L2CA_ACL_TRANSFER

_BRB_L2CA_CLOSE_CHANNEL

_BRB_L2CA_OPEN_CHANNEL

_BRB_L2CA_PING

_BRB_L2CA_REGISTER_SERVER

_BRB_L2CA_UNREGISTER_SERVER

_BRB_L2CA_UPDATE_CHANNEL

_BRB_PSM

_BRB_SCO_CLOSE_CHANNEL

_BRB_SCO_FLUSH_CHANNEL

_BRB_SCO_GET_CHANNEL_INFO

_BRB_SCO_GET_SYSTEM_INFO

_BRB_SCO_OPEN_CHANNEL

_BRB_SCO_REGISTER_SERVER

_BRB_SCO_TRANSFER

_BRB_SCO_UNREGISTER_SERVER