WinAPI SetupDi系列函数SetupDiGetDeviceRegistryProperty方法问题

迷茫的凡人 2014-02-12 04:29:49
WINSETUPAPI BOOL WINAPI
SetupDiGetDeviceRegistryProperty(
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData,
IN DWORD Property,
OUT PDWORD PropertyRegDataType, OPTIONAL
OUT PBYTE PropertyBuffer,
IN DWORD PropertyBufferSize,
OUT PDWORD RequiredSize OPTIONAL
);

SetupDiGetDeviceRegistryProperty:获得单个设备的详细资料

参数说明:

DeviceInfoSet
设备信息句柄

DeviceInfoData
SP_DEVINFO_DATA结构体,包含DeviceInfoSet 中的设备信息

Property
取以下的值:

SPDRP_ADDRESS
查询设备的地址

SPDRP_BUSNUMBER
查询设备的bus号

SPDRP_BUSTYPEGUID
查询设备的GUID号

请问如何获取Property里面的设备GUID“SPDRP_BUSTYPEGUID”?
代码如下:
Externs类里面的SetupDiGetDeviceRegistryProperty方法

实际调用

现在调用的结果“DeviceName”只能返回设备的名称,如何返回设备的其它信息?
...全文
1225 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35600872 2016-07-27
  • 打赏
  • 举报
回复
楼主,您好.我有个问题. 在我的程序中,用SetupDi系列函数对device进行disable和enable时会失败.后来发现在设备管理器中手动对device进行disable和enable时会弹出一个要重启才生效的对话框.换了不同的电脑和驱动版本,发现只要弹出该对话框时,我的程序就执行失败,没有弹出该对话框时就成功,请问我该怎么改才能做到兼容?

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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