How is the bthkd extension library used under WinDbg?

Toni Nguyen

New member
Local time
4:09 AM
Visit site
Windows 11
I am trying to use the !bthtree command to dump the complete Bluetooth device tree as specified from the !bthhelp command.
WinDbg is running and is attached to a svchost.exe process that imports several Bluetooth DLLs:
- svchost.exe (1808) | DLL | C:\Windows\System32\bthserv.dll - svchost.exe (1808) | DLL | C:\Windows\System32\BthTelemetry.dll - svchost.exe (1808) | DLL | C:\Windows\System32\Microsoft.Bluetooth.Service.dll - svchost.exe (1808) | DLL | C:\Windows\System32\Microsoft.Bluetooth.Proxy.dll - svchost.exe (1808) | DLL | C:\Windows\System32\Windows.Internal.Devices.Bluetooth.dll
Using the !bthkd.bthtree command results in the following message:
Controller: Failed to read list of device objects. BTHENUM: Error: Unable to read BTHENUM!BthEnumGlobals Unable to find driver object RFCOMM: 00000000: Unable to get value of ObpRootDirectoryObject Error: Unable to read rfcomm!g_DriverObject ENUMERATED DEVICES: Error: Unable to read BTHENUM!BthEnumGlobals Unable to find driver object

Sadly other [/ICODE]!bthkd[/ICODE] commands (such as !hcicmd, !bthenuminfo) also fail in a similar manner. WinDbg is debugging the target process locally.
Unfortunately, the documentation ( does not really provide much additional information on how to use the bthkd extension.

Does anyone have experience in using extension libraries for WinDbg? I would greatly appreciate any input on that topic.
Windows Build/Version
Windows 11 OS Build 22000.856

My Computer

System One

  • OS
    Windows 11
Top Bottom