Bluetooth Software Radio Switch Function Prototypes

Note: Beginning with Windows 8.1 vendors are no longer required to implement radio on/off capability (for Bluetooth 4.0 radios) in a software DLL as described in this topic, because the operating system now handles this functionality. Windows 8.1 will ignore any such DLL, even if present.

For Windows 8, Bluetooth radios must support software on/off capability. To allow vendors maximal flexibility, the Bluetooth Media Radio Manager supports a plug-in to allow this functionality to be exposed to users.

Hh450832.wedge(en-us,VS.85).gifTo provide this DLL plug-in, two things must be done.

  1. A DLL must be authored which exports the correct functions
  2. The DLL must be registered on the machine. The DLL is responsible for persisting the radio state, including across system reboots
The DLL must export two functions:DLL Registration

To enable the software radio switch controls in the menu and in the control panel applet, this support DLL must be registered. Set the following registry value to the full path (may include environment variables) to the DLL in question.

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Radio Support

Value Name: “SupportDLL”

Value Data : (the path)


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Radio Support]

"SupportDLL"="C:\\Program Files\\Fabrikam\\BthSupport.dll"

It is required to install the DLL in a secure location such as C:\Program Files\Fabrikam.

Requirements and Recommendations

While this design allows flexibility in how the hardware can be controlled, it is required that the off state results in no transmission/reception from the radio. Additionally, it is recommended to power down the radio to its lowest power state to conserve energy and remove it from the bus to allow the Bluetooth stack to unload.

BluetoothEnableRadio shall only return a result after the change in radio state has occurred. Additionally, because this DLL extension is meant to provide a unified radio on/off infrastructure within Windows, usage of the DLL should be reserved for Windows components. It’s the responsibility of the DLL to ensure the correct result is returned if the DLL is also used by a non-Windows component, or if a hardware switch is implemented that could turn off the radio outside the context of the Bluetooth Media Radio Manager (e.g. a switch hardwired to power off the radio).

Windows 8 Radio Management requires the DLL to execute its instructions in the Local Service Account context. Under this context, the DLL will have the minimum privilege on the local computer, which is typically less than that of a normal user context.

The radio support DLL should perform the appropriate checks to ensure the presence of its corresponding hardware prior to performing any actions. If the corresponding hardware is not found on the system, the radio support DLL should return an appropriate error code.

Related topics

Bluetooth Software Radio Sample Sources



Send comments about this topic to Microsoft