请问如何得到蓝牙设备的名称

cokeliu 2014-05-12 03:59:33
for (DWORD n = 0; SetupDiEnumDeviceInfo(hardwareDeviceInfo, n, &DeviceInfoData); n++)
{
DWORD dwBytes = 0;
SetupDiGetDeviceInstanceId(hardwareDeviceInfo, &DeviceInfoData, NULL, 0, &dwBytes);
PWSTR szInstanceId = new WCHAR[dwBytes];
if (szInstanceId)
{
if (SetupDiGetDeviceInstanceId(hardwareDeviceInfo, &DeviceInfoData, szInstanceId, dwBytes, &dwBytes))
{
_wcsupr_s(szInstanceId, dwBytes);
if (wcsstr(szInstanceId, szService))
{
OutputDebugStringW(szInstanceId);
WCHAR buf[13];
wchar_t* pStart;
wchar_t* pEnd;
if (m_bWin8)
{
pStart = wcsrchr(szInstanceId, '_');
pEnd = wcsrchr(szInstanceId, '\\');
}
else
{
pStart = wcsrchr(szInstanceId, '&');
pEnd = wcsrchr(szInstanceId, '_');
}
if (pStart && pEnd)
{
*pEnd = 0;


以上是得到设备管理器中所有蓝牙通设备mac的一段代码,请问如何得到蓝牙设备的名称?
...全文
833 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cokeliu 2014-05-15
  • 打赏
  • 举报
回复
用SPDRP_FRIENDLYNAME做参数得到的都是NULL, 而用SPDRP_DEVICEDESC得到的却没有设备名称。郁闷的很. 网上查了下说有些设备不一定有SPDRP_FRIENDLYNAME该项目. 是不是这么样的
「已注销」 2014-05-13
  • 打赏
  • 举报
回复
一般优先 SPDRP_FRIENDLYNAME 其次 SPDRP_DEVICEDESC:

HDEVINFO hDevInfo = SetupDiGetClassDevs(&GUID_DEVCLASS_NET, REGSTR_KEY_PCIENUM, 0, DIGCF_PRESENT);
if (hDevInfo != INVALID_HANDLE_VALUE) {
    SP_DEVINFO_DATA spdevd = { 0 };
    spdevd.cbSize = sizeof(SP_DEVINFO_DATA);
    for (int i = 0; SetupDiEnumDeviceInfo(hDevInfo, i, &spdevd); i++) {
        TCHAR szName[256] = { 0 };
        if (!SetupDiGetDeviceRegistryProperty(hDevInfo, &spdevd, SPDRP_FRIENDLYNAME, NULL, (PBYTE)szName, sizeof(szName), NULL)) {
            SetupDiGetDeviceRegistryProperty(hDevInfo, &spdevd, SPDRP_DEVICEDESC, NULL, (PBYTE)szName, sizeof(szName), NULL);
        }
    }
    SetupDiDestroyDeviceInfoList(hDevInfo);
}
cokeliu 2014-05-12
  • 打赏
  • 举报
回复
该程序是ble低功耗蓝牙的,我使用SetupDiGetDeviceRegistryProperty返回FrendlyName值为空. 参数用其他可以返回正确的字符,但只有SPDRP_FRIENDLYNAME时候就返回空. 无法得到蓝牙设备名字.
Eleven 2014-05-12
  • 打赏
  • 举报
回复
BluetoothGetDeviceInfo()

2,644

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧