Bluetooth

Overview of the Bluetooth technology.

To develop Bluetooth, you need these headers:

For the programming guide, see Bluetooth.

Callback functions

Title Description
PBYTESWAPUINT128 The Bluetooth SdpByteSwapUint128 function is used to reverse the byte order of an unsigned 128-bit integer.
PBYTESWAPUINT64 The Bluetooth SdpByteSwapUint64 function is used to reverse the byte order of an unsigned 64-bit integer.
PBYTESWAPUUID128 The Bluetooth SdpByteSwapUuid128 function is used to reverse the byte order of a 128-bit universally unique identifier (UUID).
PCONVERTSTREAMTOTREE The Bluetooth SdpConvertStreamToTree function is used to create a Microsoft proprietary tree-based representation of an SDP record, while leaving the original stream-based representation unmodified.
PCONVERTTREETOSTREAM The Bluetooth SdpConvertTreeToStream function is used to produce a raw bytestream representation of an SDP record from a tree representation. The raw bytestream version is suitable for publication on a local SDP server.
PFNBTHPORT_INDICATION_CALLBACK Profile drivers implement a L2CAP callback function to provide the Bluetooth driver stack with a mechanism to notify the profile driver about incoming L2CAP connection requests from remote devices, and any changes to the status of a currently open L2CAP connection.
PFNBTHPORT_INDICATION_CALLBACK_ENHANCED Profile drivers implement an enhanced L2CAP callback function to provide the Bluetooth driver stack with a mechanism to notify the profile driver about any changes to the status of a currently open L2CAP or eL2CAP connection.
PFNBTH_ALLOCATE_BRB The BthAllocateBrb function allocates a Bluetooth request block (BRB) of the specified type.
PFNBTH_FREE_BRB The BthFreeBrb function frees a Bluetooth request block (BRB) that was allocated previously with BthAllocateBrb.
PFNBTH_INITIALIZE_BRB The BthInitializeBrb function initializes a Bluetooth request block (BRB) allocated on the local stack.
PFNBTH_IS_BLUETOOTH_VERSION_AVAILABLE The IsBluetoothVersionAvailable function checks whether a given Bluetooth version is supported by the operating system.
PFNBTH_REUSE_BRB The BthReuseBrb function reinitializes a Bluetooth request block (BRB) to be reused.
PFNSCO_INDICATION_CALLBACK Profile drivers implement a SCO callback function to provide the Bluetooth driver stack with a mechanism to notify the profile driver about incoming SCO connection requests from remote devices, and any changes to the status of a currently open SCO connection.
PGETNEXTELEMENT The Bluetooth SdpGetNextElement function is used to iterate through the entries found in an SDP record stream.
PRETRIEVEUINT64 The Bluetooth SdpRetrieveUint64 function is used to copy an unaligned 64-bit integer from an SDP stream.
PRETRIEVEUUID128 The Bluetooth SdpRetrieveUuid128 function is used to copy an unaligned 128-bit universally unique identifier (UUID) from an SDP stream.
PVALIDATESTREAM The Bluetooth SdpValidateStream function is used to parse a raw SDP record and determine if it contains errors.

IOCTLs

 
IOCTL_BTH_DISCONNECT_DEVICE

Profile drivers use IOCTL_BTH_DISCONNECT_DEVICE to request the operating system to disconnect the specified remote device.
IOCTL_BTH_GET_DEVICE_INFO

The IOCTL_BTH_GET_DEVICE_INFO request returns information about all cached, previously discovered remote radios that are Bluetooth-enabled.
IOCTL_BTH_GET_LOCAL_INFO

The IOCTL_BTH_GET_LOCAL_INFO request returns information about the local Bluetooth system and radio.
IOCTL_BTH_GET_RADIO_INFO

The IOCTL_BTH_GET_RADIO_INFO request obtains information about the specified remote radio.
IOCTL_BTH_HCI_VENDOR_COMMAND

The IOCTL_BTH_HCI_VENDOR_COMMAND request allows Bluetooth applications to send vendor-specific commands to radios.
IOCTL_BTH_SDP_ATTRIBUTE_SEARCH

The IOCTL_BTH_SDP_ATTRIBUTE_SEARCH request obtains attributes for the specified SDP record.
IOCTL_BTH_SDP_CONNECT

The IOCTL_BTH_SDP_CONNECT request creates a connection to the SDP service on a remote Bluetooth device.
IOCTL_BTH_SDP_DISCONNECT

The IOCTL_BTH_SDP_DISCONNECT request closes a connection to a remote SDP server.
IOCTL_BTH_SDP_REMOVE_RECORD

The IOCTL_BTH_SDP_REMOVE_RECORD request removes a local SDP record that the profile driver previously submitted. The local server will no longer offer this record to remote devices.
IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH

The IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH request combines an SDP service and attribute search into a single operation. This allows a caller to directly obtain SDP records from a remote device.
IOCTL_BTH_SDP_SERVICE_SEARCH

The IOCTL_BTH_SDP_SERVICE_SEARCH request contacts a remote device with an SDP request for handles to SDP records of a particular service class or classes.
IOCTL_BTH_SDP_SUBMIT_RECORD

The IOCTL_BTH_SDP_SUBMIT_RECORD request allows a profile driver to add an SDP record to the local SDP server, allowing the client to advertise that a service is available on the local computer.
IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO

The IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO request adds an SDP record to the local SDP server along with attributes that are not part of the SDP record itself.
IOCTL_BTHX_GET_VERSION

Profile drivers use IOCTL_BTHX_GET_VERSION to get the version supported by the transport driver.
IOCTL_BTHX_QUERY_CAPABILITIES

IOCTL_BTHX_QUERY_CAPABILITIES is used to query the capabilities of the transport driver.
IOCTL_BTHX_READ_HCI

IOCTL_BTHX_READ_HCI is used to read Bluetooth ACL Data and Events from the transport layer.
IOCTL_BTHX_SET_VERSION

IOCTL_BTHX_SET_VERSION is used to inform the transport driver of the version of the extensibility interface being used.
IOCTL_BTHX_WRITE_HCI

IOCTL_BTHX_WRITE_HCI is used to write Bluetooth ACL Data and Commands to the transport layer.
IOCTL_INTERNAL_BTH_SUBMIT_BRB

Profile drivers use IOCTL_INTERNAL_BTH_SUBMIT_BRB to submit a Bluetooth Request Block (BRB) to the Bluetooth driver stack.
IOCTL_INTERNAL_BTHENUM_GET_DEVINFO

The IOCTL_INTERNAL_BTHENUM_GET_DEVINFO request returns information about the remote device that caused the Plug and Play (PnP) manager to load the current instance of the profile driver.
IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO

The IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO request obtains information about the underlying device and service that caused the Plug and Play (PnP) manager to load the profile driver.

Enumerations

 
ACL_MODE

The ACL_MODE enumeration type is used to list the possible states of an ACL connection.
BRB_TYPE

The BRB_TYPE enumeration type is used to determine the Bluetooth request block when a profile driver builds and sends a BRB.
BRB_VERSION

Reserved for internal use.
BTHX_HCI_PACKET_TYPE

The BTHX_HCI_PACKET_TYPE enumeration lists the different types of packets being sent from the Bluetooth stack to the transport driver.
BTHX_SCO_SUPPORT

The BTHX_SCO_SUPPORT enumeration lists the different types of SCO supported by the transport driver.
CODING_FORMAT

This enumeration is for internal use only.
ENUMERATOR_ACTION

Microsoft reserves the ENUMERATOR_ACTION enumeration for internal use only. Don't use this enumeration in your code.
ENUMERATOR_TYPE

The ENUMERATOR_TYPE enumeration type is used to determine whether the enumerated device is associated with a service or a protocol. The ENUMERATOR_TYPE enumeration is intended for internal use only and should not be used by profile drivers.
INDICATION_CODE

The INDICATION_CODE enumeration type indicates to a profile driver what type of L2CAP event has occurred.
L2CAP_DISCONNECT_REASON

The L2CAP_DISCONNECT_REASON enumeration type gives the reason an L2CAP channel has been disconnected.
PCM_DATA_FORMAT

Microsoft reserves the PCM_DATA_FORMAT enumeration for internal use only. Don't use this enumeration in your code.
SCO_DISCONNECT_REASON

The SCO_DISCONNECT_REASON enumeration type gives the reason an SCO channel has been disconnected.
SCO_INDICATION_CODE

The SCO_INDICATION_CODE enumeration type describes the type of an incoming SCO connection or bonding state change. The Bluetooth driver stack passes a value from this enumeration in the Indication argument of a profile driver's SCO Callback Function.
SCO_LINK_TYPE

The SCO_LINK_TYPE enumeration type describes the type of link used by the SCO connection when a ScoIndicationRemoteConnect indication event is processed.
SCO_RETRANSMISSION_EFFORT

The SCO_RETRANSMISSION_EFFORT enumeration type is used to determine the retransmission policies of a SCO channel.

Functions

 
PBYTESWAPUINT128

The Bluetooth SdpByteSwapUint128 function is used to reverse the byte order of an unsigned 128-bit integer.
PBYTESWAPUINT64

The Bluetooth SdpByteSwapUint64 function is used to reverse the byte order of an unsigned 64-bit integer.
PBYTESWAPUUID128

The Bluetooth SdpByteSwapUuid128 function is used to reverse the byte order of a 128-bit universally unique identifier (UUID).
PCONVERTSTREAMTOTREE

The Bluetooth SdpConvertStreamToTree function is used to create a Microsoft proprietary tree-based representation of an SDP record, while leaving the original stream-based representation unmodified.
PCONVERTTREETOSTREAM

The Bluetooth SdpConvertTreeToStream function is used to produce a raw bytestream representation of an SDP record from a tree representation. The raw bytestream version is suitable for publication on a local SDP server.
PFNBTH_ALLOCATE_BRB

The BthAllocateBrb function allocates a Bluetooth request block (BRB) of the specified type.
PFNBTH_FREE_BRB

The BthFreeBrb function frees a Bluetooth request block (BRB) that was allocated previously with BthAllocateBrb.
PFNBTH_INITIALIZE_BRB

The BthInitializeBrb function initializes a Bluetooth request block (BRB) allocated on the local stack.
PFNBTH_IS_BLUETOOTH_VERSION_AVAILABLE

The IsBluetoothVersionAvailable function checks whether a given Bluetooth version is supported by the operating system.
PFNBTH_REUSE_BRB

The BthReuseBrb function reinitializes a Bluetooth request block (BRB) to be reused.
PFNBTHPORT_INDICATION_CALLBACK

Profile drivers implement a L2CAP callback function to provide the Bluetooth driver stack with a mechanism to notify the profile driver about incoming L2CAP connection requests from remote devices, and any changes to the status of a currently open L2CAP connection.
PFNBTHPORT_INDICATION_CALLBACK_ENHANCED

Profile drivers implement an enhanced L2CAP callback function to provide the Bluetooth driver stack with a mechanism to notify the profile driver about any changes to the status of a currently open L2CAP or eL2CAP connection.
PFNSCO_INDICATION_CALLBACK

Profile drivers implement a SCO callback function to provide the Bluetooth driver stack with a mechanism to notify the profile driver about incoming SCO connection requests from remote devices, and any changes to the status of a currently open SCO connection.
PGETNEXTELEMENT

The Bluetooth SdpGetNextElement function is used to iterate through the entries found in an SDP record stream.
PRETRIEVEUINT64

The Bluetooth SdpRetrieveUint64 function is used to copy an unaligned 64-bit integer from an SDP stream.
PRETRIEVEUUID128

The Bluetooth SdpRetrieveUuid128 function is used to copy an unaligned 128-bit universally unique identifier (UUID) from an SDP stream.
PVALIDATESTREAM

The Bluetooth SdpValidateStream function is used to parse a raw SDP record and determine if it contains errors.
SdpAddAttributeToTree

The Bluetooth SdpAddAttributeToTree function is used to attach an SDP attribute node to the top level of an SDP record.
SdpAppendNodeToContainerNode

The Bluetooth SdpAppendNodeToContainerNode function is used to attach an SDP node to a sequence or alternative SDP node.
SdpCreateNodeAlternative

The Bluetooth SdpCreateNodeAlternative function is used to create an empty alternative sequence SDP node.
SdpCreateNodeBoolean

The Bluetooth SdpCreateNodeBoolean function is used to allocate and initialize an SDP_NODE structure to a Boolean type.
SdpCreateNodeInt128

The Bluetooth SdpCreateNodeInt128 function is used to allocate and initialize an SDP_NODE structure to a 128-bit integer type.
SdpCreateNodeInt16

The Bluetooth SdpCreateNodeInt16 function is used to allocate and initialize an SDP_NODE structure to a 16-bit integer type.
SdpCreateNodeInt32

The Bluetooth SdpCreateNodeInt32 function is used to allocate and initialize an SDP_NODE structure to a 32-bit integer type.
SdpCreateNodeInt64

The Bluetooth SdpCreateNodeInt64 function is used to allocate and initialize an SDP_NODE structure to a 64-bit integer type.
SdpCreateNodeInt8

The Bluetooth SdpCreateNodeInt8 function is used to allocate and initialize an SDP_NODE structure to an 8-bit integer type.
SdpCreateNodeNil

The Bluetooth SdpCreateNodeNil function is used to allocate and initialize an SDP_NODE structure to an empty node type.
SdpCreateNodeSequence

The Bluetooth SdpCreateNodeSequence function is used to create an empty sequence SDP node.
SdpCreateNodeString

The Bluetooth SdpCreateNodeString function is used to allocate and initialize an SDP_NODE structure to a string type.
SdpCreateNodeTree

The Bluetooth SdpCreateNodeTree function is used to allocate an empty root SDP_TREE_ROOT_NODE structure.
SdpCreateNodeUInt128

The Bluetooth SdpCreateNodeUInt128 function is used to allocate and initialize an SDP_NODE structure to an unsigned 128-bit integer type.
SdpCreateNodeUInt16

The Bluetooth SdpCreateNodeUInt16 function is used to allocate and initialize an SDP_NODE structure to an unsigned 16-bit integer type.
SdpCreateNodeUInt32

The Bluetooth SdpCreateNodeUInt32 function is used to allocate and initialize an SDP_NODE structure to an unsigned 32-bit integer type.
SdpCreateNodeUInt64

The Bluetooth SdpCreateNodeUInt64 function is used to allocate and initialize an SDP_NODE structure to an unsigned 64-bit integer type.
SdpCreateNodeUInt8

The Bluetooth SdpCreateNodeUInt8 function is used to allocate and initialize an SDP_NODE structure to an unsigned 8-bit integer type.
SdpCreateNodeUrl

The Bluetooth SdpCreateNodeUrl function is used to allocate and initialize an SDP_NODE structure to a URL type.
SdpCreateNodeUUID128

The Bluetooth SdpCreateNodeUUID128 function is used to allocate and initialize an SDP_NODE structure to a 128-bit UUID type.
SdpCreateNodeUUID16

The Bluetooth SdpCreateNodeUUID16 function is used to allocate and initialize an SDP_NODE structure to a 16-bit UUID type.
SdpCreateNodeUUID32

The Bluetooth SdpCreateNodeUUID32 function is used to allocate and initialize an SDP_NODE structure to a 32-bit UUID type.
SdpFindAttributeInTree

The Bluetooth SdpFindAttributeInTree function is used to locate the specified attribute node in the tree-based representation of an SDP record.
SdpFreeTree

The Bluetooth SdpFreeTree function is used to free the memory allocated for the tree-based representation of an SDP record.

Structures

 
INDICATION_PARAMETERS

The INDICATION_PARAMETERS structure is passed as the Parameters parameter to a profile driver's L2CAP Callback Function.
INDICATION_PARAMETERS_ENHANCED

The INDICATION_PARAMETERS_ENHANCED structure is passed as the Parameters parameter to a profile driver's enhanced L2CAP Callback Function.
_BRB_ACL_ENTER_ACTIVE_MODE

The _BRB_ACL_ENTER_ACTIVE_MODE structure specifies the remote device to be placed into active mode.
_BRB_ACL_GET_MODE

The _BRB_ACL_GET_MODE structure describes the ACL mode for the specified remote device.
_BRB_GET_DEVICE_INTERFACE_STRING

The _BRB_GET_DEVICE_INTERFACE_STRING structure describes the device interface string for the current device object.
_BRB_GET_LOCAL_BD_ADDR

The _BRB_GET_LOCAL_BD_ADDR structure describes the address of the local radio.
_BRB_L2CA_ACL_TRANSFER

The _BRB_L2CA_ACL_TRANSFER structure describes a buffer to read asynchronous data from, or write asynchronous data to a L2CAP channel.
_BRB_L2CA_CLOSE_CHANNEL

The _BRB_L2CA_CLOSE_CHANNEL structure describes an open L2CAP channel to close.
_BRB_L2CA_OPEN_CHANNEL

The _BRB_L2CA_OPEN_CHANNEL structure describes a L2CAP channel to open to a remote device, or a response from the profile driver accepting or rejecting an incoming L2CAP connection request that was initiated by a remote device.
_BRB_L2CA_OPEN_ENHANCED_CHANNEL

The _BRB_L2CA_OPEN_ENHANCED_CHANNEL structure is used to open an enhanced L2CAP channel to a remote device, or send a response for accepting/rejecting an incoming enhanced L2CAP connection request that was initiated by a remote device.
_BRB_L2CA_PING

The _BRB_L2CA_PING structure describes a request to ping a remote radio.
_BRB_L2CA_REGISTER_SERVER

A profile driver uses the _BRB_L2CA_REGISTER_SERVER structure to register itself as a server capable of receiving L2CAP connections from remote Bluetooth devices.
_BRB_L2CA_UNREGISTER_SERVER

A profile driver uses the _BRB_L2CA_UNREGISTER_SERVER structure to unregister itself as a server capable of receiving L2CAP connections from remote Bluetooth devices.
_BRB_L2CA_UPDATE_CHANNEL

The _BRB_L2CA_UPDATE_CHANNEL structure describes an update to the link characteristics of an open L2CAP channel to a remote device or to ascertain when certain channel attributes have changed.
_BRB_PSM

The _BRB_PSM structure describes a Protocol/Service Multiplexer (PSM) to register or unregister.
_BRB_SCO_CLOSE_CHANNEL

The _BRB_SCO_CLOSE_CHANNEL structure describes a currently open SCO channel to close.
_BRB_SCO_FLUSH_CHANNEL

The _BRB_SCO_FLUSH_CHANNEL structure describes a flush operation for a SCO channel.
_BRB_SCO_GET_CHANNEL_INFO

The _BRB_SCO_GET_CHANNEL_INFO structure describes the settings and statistics of a SCO channel.
_BRB_SCO_GET_SYSTEM_INFO

The _BRB_SCO_GET_SYSTEM_INFO structure describes information about the local system's support for SCO connections.
_BRB_SCO_OPEN_CHANNEL

The _BRB_SCO_OPEN_CHANNEL structure describes a SCO channel to open to a remote device, or a response from the profile driver accepting or rejecting an incoming SCO connection request that was initiated by a remote device.
_BRB_SCO_REGISTER_SERVER

A profile driver uses the _BRB_SCO_REGISTER_SERVER structure to register itself as a server capable of receiving SCO connections from remote Bluetooth devices.
_BRB_SCO_TRANSFER

The _BRB_SCO_TRANSFER structure describes a buffer to read isochronous data from, or write isochronous data to a SCO channel.
_BRB_SCO_UNREGISTER_SERVER

A profile driver uses the _BRB_SCO_UNREGISTER_SERVER structure to unregister itself as a server capable of receiving SCO connections from remote Bluetooth devices.
BASEBAND_CHANNEL_INFO

The BASEBAND_CHANNEL_INFO structure describes output information about the baseband channel that is used by a SCO link after a BRB_GET_CHANNEL_INFO BRB completes.
BRB

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.
BRB_HEADER

The BRB_HEADER structure contains header information about a Bluetooth request block (BRB), including information about the BRB type that the Bluetooth driver stack uses to determine which kind of BRB type to process.
BTH_COMMAND_HEADER

The BTH_COMMAND_HEADER structure specifies header information for a vendor-specific HCI command.
BTH_DEVICE_INFO_LIST

The BTH_DEVICE_INFO_LIST structure contains output information about all cached, previously discovered remote devices.
BTH_ENUMERATOR_INFO

The BTH_ENUMERATOR_INFO structure contains information about an underlying device and the service that caused the Plug and Play (PnP) manager to load the profile driver.
BTH_LOCAL_RADIO_INFO

The BTH_LOCAL_RADIO_INFO structure contains information about the local Bluetooth system and radio.
BTH_PROFILE_DRIVER_INTERFACE

The BTH_PROFILE_DRIVER_INTERFACE structure provides functions to allocate, free, initialize, and reuse BRBs, and to determine the currently installed Bluetooth version.
BTH_RADIO_INFO

The BTH_RADIO_INFO structure contains information about a remote radio.
BTH_SDP_ATTRIBUTE_SEARCH_REQUEST

The BTH_SDP_ATTRIBUTE_SEARCH_REQUEST structure contains information pertinent to an SDP attribute search.
BTH_SDP_CONNECT

The BTH_SDP_CONNECT structure contains input and output information about a connection between the local Bluetooth system and a remote SDP server. This structure is passed as the input buffer and output buffer of IOCTL_BTH_SDP_CONNECT.
BTH_SDP_DISCONNECT

The BTH_SDP_DISCONNECT structure contains input information about a connection handle to the remote SDP connection to terminate. This structure is passed as the input buffer of IOCTL_BTH_SDP_DISCONNECT.
BTH_SDP_RECORD

The BTH_SDP_RECORD structure contains information about an SDP record that is to be added to the local SDP server.
BTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST

The BTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST structure contains information pertinent to a combined SDP service and attribute search. This structure is passed as the input buffer to the IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL.
BTH_SDP_SERVICE_SEARCH_REQUEST

The BTH_SDP_SERVICE_SEARCH_REQUEST structure contains information pertinent to an SDP service search.
BTH_SDP_STREAM_RESPONSE

The BTH_SDP_STREAM_RESPONSE structure contains information about an SDP record.
BTH_VENDOR_EVENT_INFO

The BTH_VENDOR_EVENT_INFO structure specifies the buffer that is associated with the GUID_BLUETOOTH_HCI_VENDOR_EVENT GUID.
BTH_VENDOR_PATTERN

The BTH_VENDOR_PATTERN structure specifies a vendor pattern.
BTH_VENDOR_SPECIFIC_COMMAND

The BTH_VENDOR_SPECIFIC_COMMAND structure specifies a Bluetooth vendor-specific command.
BTHDDI_SDP_NODE_INTERFACE

The BTHDDI_SDP_NODE_INTERFACE structure provides functions for manipulating SDP records, including converting them to and from a tree representation that profile drivers can more easily parse.
BTHDDI_SDP_PARSE_INTERFACE

The BTHDDI_SDP_PARSE_INTERFACE structure provides functions for parsing SDP records.
BTHX_CAPABILITIES

The BTHX_CAPABILITIES structure describes the capabilities of the Bluetooth Extensible Transport Driver.
BTHX_HCI_READ_WRITE_CONTEXT

The BTHX_HCI_READ_WRITE_CONTEXT structure is used as an input/output structure for the IOCTL_BTHX_READ_HCI and IOCTL_BTHX_WRITE_HCI IOCTLs.
BTHX_VERSION

The BTHX_VERSION structure describes the version or versions that the transport driver supports.
CHANNEL_CONFIG_PARAMETERS

The CHANNEL_CONFIG_PARAMETERS structure contains configuration parameters for inbound and outbound directions of a L2CAP channel.
CHANNEL_CONFIG_PARAMETERS_ENHANCED

The CHANNEL_CONFIG_PARAMETERS_ENHANCED structure describes configuration parameters for inbound and outbound directions of an L2CAP channel.
CHANNEL_CONFIG_RESULTS

The CHANNEL_CONFIG_RESULTS structure contains configuration parameters and the buffer size of any extra options for the inbound and outbound directions of a L2CAP channel.
CHANNEL_CONFIG_RESULTS_ENHANCED

The CHANNEL_CONFIG_RESULTS_ENHANCED structure describes configuration parameters and the buffer size of any extra option for the inbound and outbound directions of an L2CAP channel.
CO_HEADER

The CO_HEADER structure is used to specify values for the Header member of the L2CAP_CONFIG_OPTION structure.
L2CAP_CONFIG_OPTION

An array of L2CAP_CONFIG_OPTION structures is used to specify values for the ExtraOptions member of the CHANNEL_CONFIG_PARAMETERS, _BRB_L2CA_OPEN_CHANNEL, and INDICATION_PARAMETERS structures.
L2CAP_CONFIG_RANGE

The L2CAP_CONFIG_RANGE structure is used to specify a range of possible values for the FlushTO member of the _BRB_L2CA_OPEN_CHANNEL structure during incoming requests.
L2CAP_CONFIG_VALUE_RANGE

The L2CAP_CONFIG_VALUE_RANGE structure is used to specify values for the Mtu and FlushTO members of the _BRB_L2CA_OPEN_CHANNEL structure.
L2CAP_EXTENDED_FLOW_SPEC

The L2CAP_EXTENDED_FLOW_SPEC is reserved for future use.
L2CAP_FLOWSPEC

This structure reserved for future use.
L2CAP_RETRANSMISSION_AND_FLOW_CONTROL

The L2CAP_RETRANSMISSION_AND_FLOW_CONTROL structure describes configuration parameters for enhanced retransmission mode and streaming mode.
SCO_INDICATION_PARAMETERS

The SCO_INDICATION_PARAMETERS structure describes indication parameters about a SCO connect or disconnect notification.
SDP_NODE

The SDP_NODE structure holds information about an element in a tree-based representation of an SDP record.
SDP_NODE_DATA

The SDP_NODE_DATA union holds the data of an element in a tree-based representation of an SDP record.
SDP_NODE_HEADER

The SDP_NODE_HEADER structure holds information about an element in a tree-based representation of an SDP record.
SDP_TREE_ROOT_NODE

The SDP_TREE_ROOT_NODE structure is the root element of a tree-based representation of an SDP record.