Notifying Windows Bluetooth stack of the vendor specific command code Microsoft doesn't specify how to get the chosen code.
The vendor must communicate the chosen value through a method other than the controller. The controller could interpret the command as a destructive operation such as updating the controller's firmware. It's unsafe to issue a vendor-specific command and depend on the controller to reject the command if it doesn't understand it. Microsoft can't choose a command code and assume that no other vendor uses the code for a conflicting purpose. The vendor must choose the value of the Microsoft-defined command code. Vendors define values in the range 0xFC00 through 0xFFFF, allowing for 1024 different possible vendor-assigned command codes. The Bluetooth organization defines values in the range 0x0000 through 0xFBFF. Requirementsīluetooth HCI commands are identified by a 16-bit command code.
Bluetooth controller implementers can use these extensions to implement special features. Microsoft defines vendor-specific HCI commands and events that are consumed by Windows. Bluetooth specifications allow vendor-defined HCI commands and events to enable nonstandardized interaction between hosts and controllers.
The Bluetooth Host-Controller Interface (HCI) specifies all interactions between a host and a Bluetooth radio controller.